pgsql 单机多版本的实验环境的搭建

2019-09-17 15:09:34 浏览数 (1)

实验的时候,我们通常需要运行多个版本的pg实例。

最近试用了下pgenv 发现这个虚拟环境并不是很好用,pg自身的多实例更好用,具体方法如下:

这里以我们编译安装好的pgsql11.5为例(其它rpm安装的pg也可以的)。我的pgsql原始安装路径在/usr/local/pgsql/ 目录下

切换到postgres账户下

su - postgres

创建相关目录

代码语言:javascript复制
cd /usr/local/pgsql/
mkdir pg1
mkdig pg2

初始化

代码语言:javascript复制
initdb -D usr/local/pgsql/pg1/
initdb -D usr/local/pgsql/pg2/

启动pg:

代码语言:javascript复制
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

代码语言:javascript复制
./bin/psql -p  5433
./bin/psql -p  5434

停止PG:

代码语言:javascript复制
pg_ctl stop -m fast -D /usr/local/pgsql/pg1/
pg_ctl stop -m fast -D /usr/local/pgsql/pg2/

日常我们可以在服务器上编译多个不同版本的pg,使用上面的方法即可启动多个实例,只要我们的端口不冲突就行。

0 人点赞