バックアップ計画:
1。マスター/スレーブの既存のslonyスキーマ(_slonyschema)をバックアップします
2。古いSlonyバイナリをバックアップします
3。 Backup allは、最初にslony構成ファイルを作成します。
アップグレード手順:
1。すべてのノードで実行中のすべてのslonプロセスを停止します。
2。新しいバージョンのSlony2.1.xバイナリをインストールします。
3。 SLONIKアップグレードスクリプトを実行します
4。すべてのノードで新しいバイナリを使用してslonyを開始します。
リンク:http://slony.info/documentation/2.1/slonyupgrade.html
Current PostgreSQL & Slony version:
repdb=# select substr(version(),1,26) as "PostgreSQL-Version",_myrep.slonyversion();
PostgreSQL-Version | slonyversion
----------------------------+--------------
PostgreSQL 9.1.3 on x86_64 | 2.0.7
(1 row)
最新バージョンのSlony-I2.1.xソースのインストール/構成
wget http://main.slony.info/downloads/2.0/source/slony1-2.1.0.tar.bz2
./configure --prefix=/opt/PostgreSQL/9.1/bin --with-pgconfigdir=/opt/PostgreSQL/9.1/bin
make
make install
After installation, you can find three executables slon, slonik & slon_logshipper under "/opt/PostgreSQL/9.1/bin/bin".
-bash-4.1$ ./slon -v
slon version 2.1.0
アップグレードスクリプト:
## Upgrade script
cluster name = myrep;
node 1 admin conninfo='host=localhost dbname=postgres user=postgres port=5432';
node 2 admin conninfo='host=localhost dbname=repdb user=postgres port=5433';
UPDATE FUNCTIONS ( ID = 1 );
UPDATE FUNCTIONS ( ID = 2 );
Note: Update all the nodes with UPDATE FUNCTIONS. I have two nodes Master(5432) and Slave(5433).
スクリプトを実行します:
-bash-4.1$ slonik upgrade_207_201.slonik
新しいバイナリでslonyプロセスを開始し、変更を確認します。
postgres=# select substr(version(),1,26) as "PostgreSQL-Version",_myrep.slonyversion();
PostgreSQL-Version | slonyversion
----------------------------+--------------
PostgreSQL 9.1.3 on x86_64 | 2.1.0
(1 row)
あなたは私のslonyバージョンが最新にアップグレードされているのを見ることができます。また、Slony-Iがドキュメントで提供する関数を使用して、スキーマのヘルスチェックを実行することもできます。ヘルスチェック関数はTRUEを返す必要があります。そうでない場合、PGおよびSlonyカタログが破損しています。
関数リンク:http://slony.info/documentation/2.1/function.slon-node-health-check.html
postgres=# select node_health_check();
node_health_check
-------------------
t
(1 row)