我安装了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:〜$
答案 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