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

– 新建用户

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

ssh-keygen -t rsa -C "[email protected]"

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

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

git clone [email protected]:brookshappy/postgresql.git

– 依赖安装

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的 位置,所以在一个环境中,一个编译出来的数据库可以有多个运行环境,或者可以有多个编译环境,多个运行环境,所以需要自己按需配置

./configure --enable-depend --enable-cassert --enable-debug --prefix=/home/postgres/postgresql/build
make
sudo make install

– 配置环境变量
在bashrc中加入以下内容

PATH=$PATH:/home/postgres/postgresql/build/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/postgres/postgresql/build/bin/lib

执行以下命令生效

source .bashrc

– 启动

/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

你可能感兴趣的:(postgres内核开发,git)