1.00001git源码clone后进行编译(带调试)

-- 新建用户

bash 复制代码
useradd postgres
passwd postgres 

-- 用户加入sude组

先cd到/etc/sudoers目录下

由于sudoers文件为只读权限,所以需要添加写入权限,chmod u+w sudoers

vim sudoers

找到root ALL = (ALL) ALL这一行,在下一行加入username ALL = (ALL) ALL。username指代你想加入sudo组的用户名。

把sudoers文件的权限修改回来。chmod u-w sudoers

-- 用户生成公匙,登录gitee

bash 复制代码
ssh-keygen -t rsa -C "xxx@xx.com"

打开id_rsa.pub文件,并且复制内容,放置在gitee SSH管理中

-- 源码下载 直接下载最新源码,github上的源码每一个提交都保证是可编译运行的

bash 复制代码
git clone git@gitee.com:brookshappy/postgresql.git

-- 依赖安装

bash 复制代码
yum install flex bison libreadline-dev libssl-dev libpam-dev libxml2 libxml2-dev libxslt-dev libldap-dev libperl-dev python3-dev zlib1g-dev libssh2-1-dev gdb c++ gcc make

-- 编译

为了能使用gdb调试,需要使用debug模式调试,我自己之前编译的时候发现即使指定-enable-debug在编译的时候发现也使用了-O2,所以这里建议直接修改configure中的-O和-O2为-g,pg的数据指定-D的 位置,所以在一个环境中,一个编译出来的数据库可以有多个运行环境,或者可以有多个编译环境,多个运行环境,所以需要自己按需配置

bash 复制代码
./configure --enable-depend --enable-cassert --enable-debug --prefix=/home/postgres/postgresql/build
make
sudo make install

-- 配置环境变量

在bashrc中加入以下内容

bash 复制代码
PATH=$PATH:/home/postgres/postgresql/build/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/postgres/postgresql/build/bin/lib

执行以下命令生效

bash 复制代码
source .bashrc

-- 启动

bash 复制代码
/home/postgres/postgresql/build/bin/initdb -D /home/postgres/data 
/home/postgres/postgresql/build/bin/pg_ctl -D /home/postgres/data  start
/home/postgres/postgresql/build/bin/pg_ctl -D /home/postgres/data  stop
/home/postgres/postgresql/build/bin/psql -p 5432
相关推荐
挖掘狂人1 天前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger1 天前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程1 天前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk1 天前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风1 天前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人2 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安2 天前
git学习记录01
linux·git·学习
lingchen19062 天前
版本控制 Git源代码项目管理
git
虫无涯2 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆2 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git