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
相关推荐
驯龙高手_追风25 分钟前
Gitlab本地服务器搭建及配置-详细教程
git·github
czhc11400756631 小时前
6.11:halcon,Sqlserver;项目sql连接;git
git·sql·sqlserver
炸炸鱼.2 小时前
Git+Jenkins 基本使用:从入门到实战(知识点大全)
运维·git·jenkins
戴国进4 小时前
git stash 用法详解
git
木雷双雄75 小时前
Git 版本回退操作指南
git
m0_5791466515 小时前
已被 Git 追踪的本地修改文件如何实现临时忽略
git
糖少主17 小时前
WSL中使用Beyond Compare 3/4/5作为difftool
git·wsl·beyond compare·difftool
console.log('npc')19 小时前
Git版本管控:git reset \+ git push \-f 原理、实操与避坑指南
git
恋喵大鲤鱼1 天前
git reflog
git·git reflog
MatrixOrigin1 天前
MatrixOne Git4Data 技术详解(二):从零跑通所有 Git 原语
git