【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】

news2024/11/29 4:30:48

Ubuntu源码安装PostgreSQL

  • 1. PostgreSQL官网下载压缩包
  • 2. 解压&安装
    • 2.1 解压文件
    • 2.2 安装依赖
    • 2.3 执行安装
    • 2.4 执行安装
    • 2.5 添加路径到文件
  • 3. 初始化数据库与使用
    • 3.1 初始化数据库
    • 3.2 启动数据库服务
    • 3.3 启动数据库

1. PostgreSQL官网下载压缩包

下载地址:https://www.postgresql.org/ftp/source/v10.1/

在这里插入图片描述

2. 解压&安装

2.1 解压文件

执行命令:

tar zxvf postgresql-10.1.tar.gz

在这里插入图片描述
解压成功后显示:
在这里插入图片描述

2.2 安装依赖

sudo apt-get install libreadline-dev
sudo apt-get install zlib1g-dev
sudo apt-get install gcc

出现问题:
在这里插入图片描述
解决方法:执行以下命令。

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock

2.3 执行安装

执行命令:

./configure --prefix=/opt/postgresql/10 --enable-debug --enable-cassert
make
make install

注意:如果希望后续在gdb时可以查看代码,则需要添加–enable-debug

make时出现错误:
在这里插入图片描述
解决方法:找到copy_fetch.c文件。
文件路径如下:/home/jia/pg_server/postgresql-10.1/src/bin/pg_rewind/copy_fetch.c
也可以使用命令:sudo find / -name copy_fetch.c来查找
copy_fetch.c文件中的copy_file_range修改为copy_file_chunk

2.4 执行安装

root下创建postgres用户和数据目录,并修改权限

adduser postgres
mkdir -p /opt/postgresql/10/data
chown -R postgres:postgres /opt/postgresql/10/data
chmod -R go-rwx /opt/postgresql/10/data

注意:data文件权限过大将会无法启动数据库服务
解决办法:chmod -R 0700 data/

2.5 添加路径到文件

su postgres
nano ~/.bashrc

将下面路径添加到文件中

export PATH=/opt/postgresql/10/bin:$PATH
export PGDATA=/opt/postgresql/10/data
export PGHOME=/opt/postgresql/10
export LANG=zh_CN.UTF-8
export PGPORT=5432

最后记得source一下:

source ~/.bashrc

3. 初始化数据库与使用

3.1 初始化数据库

initdb -D /opt/postgresql/10/data --locale=zh_CN.UTF8

在这里插入图片描述

3.2 启动数据库服务

pg_ctl -D /opt/postgresql/10/data -l logfile start

在这里插入图片描述
如果启动失败如下所示:
在这里插入图片描述
执行命令:lsof -i:5432查看端口占用情况
在这里插入图片描述
使用kill命令杀死进程即可释放端口
在这里插入图片描述

3.3 启动数据库

在这里插入图片描述
注:\q表示退出。

致谢:分别参考了以下博客

  1. https://blog.csdn.net/gbz2000/article/details/114817892
  2. https://rng-songbaobao.blog.csdn.net/article/details/103110090

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/763591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【黑马头条之freemarker入门】

本笔记内容为黑马头条项目的freemarker部分 目录 一、freemarker 介绍 二、环境搭建&&快速入门 1、创建测试工程 2、配置文件 3、创建模型类 4、创建模板 5、创建controller 6、创建启动类 7、测试 三、freemarker基础 1、基础语法种类 2、集合指令&#…

【iOS】—— 面向对象,Runtime,ARC等问题总结

对于暑假学习大多数是对之前学习的一个复习,在这里只做对之前学习欠缺知识的补充以及这些知识点涉及的一些问题,从问题入手学习。 文章目录 面向对象1.一个NSObject对象占多少内存?2.对象的isa指针指向哪里?3.OC的类信息存放在哪…

PLSQL编程

1.概念和目的 1.1. 什么是PL/SQL? PL/SQL(Procedure Language/SQL) 是Oracle对sql语言的过程化扩展 (类似于Basic); 指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。…

Spring @Autowired 注解原理

Spring Autowired 注解原理 1.Autowired 使用 ComponentScan("org.example.bean") public class AnnoContextDemo {Autowiredprivate User user;public static void main(String[] args) {AnnotationConfigApplicationContext context new AnnotationConfigApplic…

Ultipa嬴图数据库 | 深圳国际金融科技大赛圆满落幕

2023年7月13日,由深圳市地方金融监督管理局、深圳市福田区人民政府、深圳市南山区人民政府指导,招商局金融科技有限公司主办的2022深圳国际金融科技大赛总决赛在福田区圆满落幕。经过从初赛到决赛,共计103个项目的激烈角逐,Ultipa…

Unity视角拉近时物体缺失的问题处理

在Unity的开发过程中,我们可能会遇到以下情况: 就是在场景的不断编辑中,突然又一次打开场景,再拉近或拉远场景视角时,会出现场景中的对象会显示不全的问题。 出现了这样的情况会让场景的预览很不友好。 出现这个问题的…

【006】面向 6G 的深度图像语义通信模型

摘要 目前的语义通信模型在处理图像数据方面仍有可改善的部分,包括有效的图像语义编解码、高效的语义模型训练和精准的图像语义评估。为此,提出了一种深度图像语义通信(DeepISC)模型。首先采用基于 vision transformer 的自编码器…

数字IC后端设计实现中的Post-mask ECO应该怎么做?

在数字IC后端设计实现中,我们经常会涉及到芯片需要做Function ECO。常见的Function ECO可以分为pre mask ECO和post mask ECO两种。因此,作为一个数字IC后端工程师,必须熟练掌握这两种Function ECO的实现流程及其实现技巧。 两者的区别在于&…

栈和队列【数据结构】

1、栈 &#xff08;1&#xff09;Stack.h #pragma once #include <stdio.h> #include <assert.h> #include <stdlib.h> #include <stdbool.h>typedef int STDataType;typedef struct Stack {STDataType* a;int top;int capacity; }ST;void STInit(ST*…

[JVM] 5. 运行时数据区(2)-- 程序计数器(Program Counter Register)

一、概述 JVM中的程序计数器&#xff08;Program Counter Register&#xff09;是对物理PC寄存器的一种抽象模拟。它是一块很小的内存空间&#xff0c;几乎可以忽略不记。也是运行速度最快的存储区域。在 JVM 规范中&#xff0c;每个线程都有它自己的程序计数器&#xff0c;是…

.nvmrc无效

背景 既然你已经使用了nvm那么他的功能我就不介绍了。但是使用场景我与开发小伙伴探讨了一下发现很多问题。你的nvm使用方法真的正确吗&#xff1f; 问题&#xff1a;假设现在有10个项目对应10个不同的node版本&#xff0c;你应该怎么来管理呢&#xff1f; 同学1&#xff1a; …

LT8619C是一款高性能HDMI转TTL/BT656/BT601/BT1120加2PORT LVDS,支持高达4K30HZ的分辨率。

LT8619C • 概述&#xff1a; Lontium的LT8619C是一款高性能的HDMI/双模式DP接收器芯片&#xff0c;符合HDMI 1.4规范&#xff0c;支持HDCP1.4解码&#xff0c;对HDMI的支持分辨率高达4Kx2K30Hz。TTL输出可支持RGB、BT656、BT1120&#xff0c;支持最多24位RGB或BT656/BT1120输…

动手学深度学习——多层感知机(原理解释+代码详解)

目录 一、多层感知机1. 隐藏层1.1 线性模型可能会出错1.2 在网络中加入隐藏层1.3 从线性到非线性1.4 通用近似定理 2. 激活函数2.1 ReLU函数2.2 sigmoid函数2.3 tanh函数 3. 小结 二、多层感知机的从零开始实现2.1 初始化模型参数2.2 激活函数2.3 模型2.4 损失函数2.5 训练 三、…

【数据结构刷题】消失的数字和轮转数组

目录 一.消失的数字 方法一:异或全部元素 方法二:利用等差数列求和-该数组全部元素之和。 二.轮转数组 题型1:实现一个函数&#xff0c;可以左旋字符串中的k个字符。 写法1:暴力求解 根据该题写出右旋转 写法2&#xff1a;三步旋转法(左逆序&#xff0c;右逆序&#xff0c;整体…

2023年7月字节前端青训营入营题目记录(大题)

前言&#xff1a; 不一定是完整的题目内容&#xff0c;但意思差不多是一个意思 1.实现一个url解析成对象的函数&#xff1a; function ParseParams(url: string): Record<string, any> {const paramsstr url.split("?")[1];const paramsArr paramsstr.spl…

IDEA中把导航栏的字体放大

IDEA中如何把导航栏的字体放大&#xff1f; 选择File--Settings--Appearance&#xff0c;找到下面的size,选择自己想要的字体大小后点击 OK 即可。 字体大了果然看的更舒服了~写代码都有动力了哈哈哈哈 服了~

MySQL基本语句

目录 一、MySQL数据库管理 查看数据库信息 查看数据库中的表信息use 数据库名 #切换到书库中 显示数据表的结构&#xff08;字段&#xff09; 二、SQL语句 1.创建新的数据库 2.创建新的表 3.增加&#xff08;insert&#xff09; 4.删除 4.1清空表 4.2删除表 5.修改…

SpringMVC的数据响应-直接回写json字符串

一般我们操作对象&#xff0c;将对象转变为json 这时导入json 转换工具的包 包1 包2-json数据绑定 包3 返回的就是json字符串你直接返回就行了 返回一个json格式的字符串 直接回写就加这个res.... 内部字符串要进行相应的转意 能够看到json字符串 能不能你封装对象&#xff0c…

jenkins+python+pytest+selenium 自动化执行脚本并发送报告

目录 安装jenkins jenkins 安装网址&#xff1a; 傻瓜式安装 配置环境 键path 或者随便填 构建后操作 在jenkins上展示html的报告&#xff0c;需要添加一个HTML Publisher plugin插件 查看报告显示丢失了css样式 加载css样式丢失解决&#xff1a;https://www.cnblogs.com/…

如何使用Dom4J解析XML文档

文章目录 XML解析的方式使用Dom4J解析XML文档Dom4J结合XPath解析XML 最近在手写MyBatis的源码&#xff0c;在写到XMLConfigBuilder的时候&#xff0c;其中要解析xml文件构建Configuration。在MyBatis的早期版本中使用了DOM4J来解析配置文件和映射文件。但是从3.x版本开始,MyBat…