實驗的時候,咱們一般須要運行多個版本的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,使用上面的方法便可啓動多個實例,只要咱們的端口不衝突就行。