如何选择 - Ubuntu桌面上的多个版本的PostgreSql

时间:2017-04-07 11:15:21

标签: postgresql ubuntu-16.04

我安装了9.5版。为了从Heroku创建本地备份,我需要版本9.6.1,就像Heroku上的版本一样 - 否则pg__dump会因错误而失败。

下面的Ubuntu控制台转储 -

(py27infoBOT) dhankar@dhankar-VPCEB44EN:~$ psql --version
psql (PostgreSQL) 9.6.2
(py27infoBOT) dhankar@dhankar-VPCEB44EN:~$ 
(py27infoBOT) dhankar@dhankar-VPCEB44EN:~$ pg_config --version
PostgreSQL 9.6.2
(py27infoBOT) dhankar@dhankar-VPCEB44EN:~$ 
(py27infoBOT) dhankar@dhankar-VPCEB44EN:~$ sudo su - postgres
postgres@dhankar-VPCEB44EN:~$ 
postgres@dhankar-VPCEB44EN:~$ psql -c 'SELECT version();'
                                                     version                                                     
-----------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.5.6 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609, 64-bit
(1 row)

postgres@dhankar-VPCEB44EN:~$ 
postgres@dhankar-VPCEB44EN:~$ 

更新 - 按照建议 -

~$ locate pg_dump
/etc/alternatives/pg_dump.1.gz
/etc/alternatives/pg_dumpall.1.gz
/usr/bin/pg_dump
/usr/bin/pg_dumpall
/usr/lib/postgresql/9.5/bin/pg_dump
/usr/lib/postgresql/9.5/bin/pg_dumpall
/usr/share/man/man1/pg_dump.1.gz
/usr/share/man/man1/pg_dumpall.1.gz
/usr/share/postgresql/9.5/man/man1/pg_dump.1.gz
/usr/share/postgresql/9.5/man/man1/pg_dumpall.1.gz

进一步更新,使用了pg_lsclusters:〜

(py27infoBOT) dhankar@dhankar-VPCEB44EN:~$ 
(py27infoBOT) dhankar@dhankar-VPCEB44EN:~$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory               Log file
9.5 main    5432 online postgres /var/lib/postgresql/9.5/main /var/log       /postgresql/postgresql-9.5-main.log
9.6 main    5433 online postgres /var/lib/postgresql/9.6/main /var/log    /postgresql/postgresql-9.6-main.log

(py27infoBOT)dhankar @ dhankar-VPCEB44EN:〜$

1 个答案:

答案 0 :(得分:0)

似乎我应该记录对我有用的解决方案 - 我编辑了9.6.2的.conf文件以侦听端口5432 -

"config_file=/etc/postgresql/9.6/main/postgresql.conf"

现状如下 -

Ver Cluster Port Status Owner    Data directory               Log file
9.5 main    5432 down   postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
9.6 main    5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log

进一步更新:〜 问题没有解决 - 现在引用用户的这个非常有教育意义的答案 - Erwin Brandstetter,https://dba.stackexchange.com/questions/21006/how-to-run-specific-version-8-4-9-1-of-postgresql-pg-command-e-g-pg-dump/21007#21007。进一步的问题 - 我如何使用$ pg_dump --cluster 9.6/main和Heroku CLI命令: - heroku pg:pull DATABASE_URL localDB_infobot --app infobot-co-in

本地控制台上的独立 - $ pg_dump --cluster 9.6/main会产生 - another ERROR

截至目前 - 作为临时解决方案,采用数据库备份,下载和本地恢复 -

heroku pg:backups:capture heroku pg:backups:download pg_restore --verbose --clean --no-acl --no-owner -h localhost -U user_name -d database_name latest.dump