postgresql的编译和调试

编译安装

下载源码文件包并解压:postgresql-14.1.tar.gz
tar xf postgresql-14.1.tar.gz && cd postgresql-14.1
在解压后的目录下执行:
./configure --prefix=$HOME/software/postgresql_bin/ --enable-debug --enable-cassert
make -sj 20
make install

启动和创建数据库

cd $HOME/software/postgresql_bin/
mkdir data
bin/initdb -D data
bin/pg_ctl -D data -l logfile start
bin/createdb test

连接数据库

LD_LIBRARY_PATH=./lib:$LD_LIBRAY_PATH bin/psql test

关闭数据库

bin/pg_ctl -D data stop

gdb调试

在psql命令行下执行select pg_backend_pid();可以查到一个进程号,然后以此作为gdb调试的目标进程号:
gdb -p $上述的pid
在ExecResult函数处打断点:
b ExecResult
c
然后可以在psql命令行下执行SQL语句,就会在刚刚这个断点处中断。

上一篇:关于使用datagrip连接postgresql不显示数据库问题解决


下一篇:Web 架构师的能力(转)