我们刚刚成功将主服务器备份到热备用服务器上.但是,当我们尝试查询热备用时,我们收到以下错误:
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
任何想法都会非常感激.
BTW:
我们已添加:
hot_standby = on pipelinedb.conf(相当于postgresql.conf)
我们补充说:
primary_slot_name = 'replicator_slot'
primary_conninfo = 'user=username host=ip_address port=5432'
recovery_target_timeline = 'latest'
到recovery.conf
最佳答案 我们目前正在调查
the issue你是如此仔细地为我们写的.一旦解决了,我会在这里发布更新,这不应该很长