ホットスタンバイサーバーにプライマリを正常にバックアップしました。私たちは、ホットスタンバイへの照会しようとすると、しかし、我々は次のエラーを取得する:ホットスタンバイサーバーでの読み取り専用のクエリは、トランザクションIDの取得により失敗します
ERROR: cannot assign TransactionIds during recovery
私は冗長モードを有効にし、エラーがvarsup.cで発生参照:72
/* safety check, we should never get this far in a HS standby */
if (RecoveryInProgress())
elog(ERROR, "cannot assign TransactionIds during recovery");
奇妙なことがありますpsqlクライアントを使用して複数の読取り問合せを発行すると、最初の問合せは失敗しますが、後続の問合せはすべて成功します。
pipeline=# SELECT pg_is_in_recovery();
ERROR: cannot assign TransactionIds during recovery
pipeline=# SELECT pg_is_in_recovery();
pg_is_in_recovery
-------------------
t
(1 row)
使ってpostgresの9.5.3
は、任意のアイデアは非常にそれをいただければ幸いです。ところで
: 我々が追加しました: pipelinedb.confへhot_standby = on
(postgresql.confのに相当)
を、我々が追加しました:
primary_slot_name = 'replicator_slot'
primary_conninfo = 'user=username host=ip_address port=5432'
recovery_target_timeline = 'latest'
を
チップポールのおかげでありがたいですが、ホットスタンバイで復帰を終了したくありません。理想的には、それは常に回復にあり、プライマリ/マスターが読み取り専用クエリを実行するのを助けます。 –