PostgreSQLをバージョン8.4から9.4にアップグレードします。
documentation は私にはあまり明確ではありません。
私のPostgreSQLは CentOS 6.6 サーバーで実行されています。
これは私が私の問題を解決した方法です。
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
service postgresql-9.4
initdbが機能しなかったため、Sudo /usr/pgsql-9.4/bin/postgresql94-setup initdb
を使用する必要がありました(見つかりました here )。
すばらしい説明をありがとうございました。pg_hba.conf
ファイルを再構成する必要があったとしても、問題なく9.2から9.4に更新することができました。
単一のpostgresql94 psqlバイナリを/ usr /(local /)binにリンクするよりも、代替システムを使用する方が良いです。
cd /etc/alternatives/
ls pgsql-* -1 | xargs -L 1 alternatives --auto
CentOSのデフォルトディレクトリへのpostgresql94のバイナリ、マン、設定などのリンクを作成します。