实验的时候,咱们一般须要运行多个版本的pg实例。
sql
最近试用了下pgenv 发现这个虚拟环境并非很好用,pg自身的多实例更好用,具体方法以下:bash
这里以咱们编译安装好的pgsql11.5为例(其它rpm安装的pg也能够的)。个人pgsql原始安装路径在/usr/local/pgsql/ 目录下服务器
切换到postgres帐户下ide
su - postgrespost
建立相关目录spa
cd /usr/local/pgsql/ mkdir pg1 mkdig pg2
初始化orm
initdb -D usr/local/pgsql/pg1/ initdb -D usr/local/pgsql/pg2/
启动pg:it
pg_ctl -D /usr/local/pgsql/pg1/ -o "-p 5433" -l /usr/local/pgsql/pg1/pg.log start pg_ctl -D /usr/local/pgsql/pg2/ -o "-p 5434" -l /usr/local/pgsql/pg2/pg.log start
登陆到PG编译
./bin/psql -p 5433 ./bin/psql -p 5434
中止PG:ast
pg_ctl stop -m fast -D /usr/local/pgsql/pg1/ pg_ctl stop -m fast -D /usr/local/pgsql/pg2/
平常咱们能够在服务器上编译多个不一样版本的pg,使用上面的方法便可启动多个实例,只要咱们的端口不冲突就行。