sql >> データベース >  >> RDS >> PostgreSQL

Slony-I2.0.xを最新バージョン2.1.xにアップグレードする

    Slony-1 2.1には、バルクテーブルの追加、マージセット/移動セットによるWAIT FORの改善、テーブルの複製でのTRUNCATEのサポートなど、非常に優れた修正と新機能があります。 Slony-I 2.0.7を使用しているので、最新バージョンにアップグレードすることを検討してください。 Slony-Iのアップグレードは非常に簡単で、いくつかの手順で実行できます。私のアップグレード手順は、Slony2.0.7ですでにマスター/スレーブがセットアップされていることを前提としています。

    バックアップ計画:
    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)

    1. mysql-列が多すぎますか?

    2. MYSQL自己結合はどのように機能しますか?

    3. CLOBでのSUBSTRのパフォーマンス

    4. MySQLクイックヒント:DAYOFWEEK関数の使用