PostgreSQL installcheck测试与调试
PostgreSQL源码编译后,可以执行“安装后测试(the tests after installation)”回归。
环境准备
sudo yum install perl-IPC-Run.noarch
假设PG源代码目录为:
/home/yz/postgres_src
编译时可以打开以下开关以支持tap测试:
--enable-tap-tests
make installcheck
先初始化安装PG:
initdb -D /home/yz/pg_data
启动PG(假设server端口为7404):
pg_ctl -D /home/yz/pg_data/ -l ~/logfile start
执行make installcheck
:
make installcheck
配置环境变量:
export PG_REGRESS=/home/yz/postgres_src/src/test/regress/pg_regress export PGPORT=7404 export REGRESS_SHLIB=/home/yz/postgres_src/src/test/regress/regress.so
执行单个回归(以022_crash_temp_files.pl
为例):
cd /home/yz/postgres_src/src/test/perl perl ../recovery/t/022_crash_temp_files.pl
如果需要调试,可以使用perl -d
:
perl -d ../recovery/t/022_crash_temp_files.pl
只执行一个target
假设仅需要执行某个target,假设仅执行recovery,则:
cd /home/yz/postgres_src/src/test/recovery make installcheck
参考
打赏作者以资鼓励: