0

私は3つのサーバーを持っています。1 つは pgpool を実行しており、別の 2 つはマスター/スレーブ モードのストリーミング レプリケーションを実行しています。pgpool をインストールするときpgpool_regclassに、データベース サーバーにも をインストールするように勧められました。マスターノードにインストールしても問題ありませんが、スレーブに同じことをしようとすると、エラーが発生しましERROR: cannot execute CREATE EXTENSION in a read-only transactionた。

SELECT pg_is_in_recovery();スレーブがホットスタンバイでtrueを返すからだと思います。だから私pgpool_regclassはスレーブにインストールすることになっているのだろうか。そうではないようですが、pgpool doc には、pgpool がアクセスするすべてのデータベースにインストールする必要があると書かれています。

4

1 に答える 1

0

原因がわかりました。recovery.confスレーブ データベースのファイルを削除してから、 を実行しpgpool_regclassます。それ以外の場合、スレーブは回復モードになり、書き込みコマンドを実行できません。

于 2016-02-10T00:16:44.577 に答える