web-dev-qa-db-ja.com

PostgreSQLをバージョン8.4から9.4にアップグレードするには?

PostgreSQLをバージョン8.4から9.4にアップグレードします。

documentation は私にはあまり明確ではありません。

  1. アップグレードすると、古いデータベースが失われますか?
  2. アップグレード後にデータベースを失う場合、どうすれば古いデータベースをバックアップできますか?
  3. Psqlをアップグレードするにはどうすればよいですか?

私のPostgreSQLは CentOS 6.6 サーバーで実行されています。

18
Alex Jolig

これは私が私の問題を解決した方法です。

CentosでPostgresql 8.4を9.4にアップグレード

 1. Yum Install PG9.4
 2. wget http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
 3. yum install pgdg-redhat94-9.4-1.noarch.rpm
 4. yum install postgresql94-server
 5. service postgresql-9.4 initdb
 6. chkconfig postgresql-9.4 on

バックアップデータ

 7. su - postgres

 8. pg_dumpall > dump.sql

データの復元

 9. service postgresql stop

 10. service postgresql-9.4 start

 11. su - postgres

 12. psql < dump.sql

ネットワークアクセスの設定

vi /var/lib/pgsql/9.4/data/postgresql.conf

 1. listen_addresses = '*'
 2. port = 5432

/var/lib/pgsql/9.4/data/pg_hba.conf

# "local" is for Unix domain socket connections only
local   all         all                               ident
# IPv4 local connections:
Host    all         all         127.0.0.1/32          ident
Host    all         all         130.51.79.0/24        md5
Host    all         all         10.210.29.0/24        md5
# IPv6 local connections:
Host    all         all         ::1/128               ident

PG8.4を削除

 1. yum remove postgresql
 2. ln -s /usr/pgsql-9.4/bin/psql /usr/local/bin/psql
25
Alex Jolig

service postgresql-9.4 initdbが機能しなかったため、Sudo /usr/pgsql-9.4/bin/postgresql94-setup initdbを使用する必要がありました(見つかりました here )。

すばらしい説明をありがとうございました。pg_hba.confファイルを再構成する必要があったとしても、問題なく9.2から9.4に更新することができました。

3
Jeff

単一のpostgresql94 psqlバイナリを/ usr /(local /)binにリンクするよりも、代替システムを使用する方が良いです。

cd /etc/alternatives/
ls pgsql-* -1 | xargs -L 1 alternatives --auto

CentOSのデフォルトディレクトリへのpostgresql94のバイナリ、マン、設定などのリンクを作成します。

1