待机在接收INSERT / DELETE查询时崩溃,而不是抛出错误消息

时间:2018-08-09 07:46:00

标签: postgresql replication postgresql-10

我正在尝试在postgresql-10.0中设置流复制。我遇到了这个问题。

备用服务器不应该接收任何事务查询,如果这样做,postgres将抛出以下错误并且不应崩溃,

  

无法在只读事务中执行DELETE

但是当我发出DELETE查询时,即时通讯在待机状态下崩溃。附加服务器日志,

postgres=# delete from time;
2018-08-09 12:51:12.965 IST [5166] ERROR:  cannot execute DELETE in a read-only transaction
2018-08-09 12:51:12.965 IST [5166] STATEMENT:  delete from time;
2018-08-09 12:51:12.965 IST [5166] ERROR:  cannot make new WAL entries during recovery
2018-08-09 12:51:12.965 IST [5166] WARNING:  AbortTransaction while in ABORT state
2018-08-09 12:51:12.965 IST [5166] ERROR:  cannot make new WAL entries during recovery
2018-08-09 12:51:12.965 IST [5166] WARNING:  AbortTransaction while in ABORT state
2018-08-09 12:51:12.965 IST [5166] ERROR:  cannot make new WAL entries during recovery
WARNING:  AbortTransaction while in ABORT state
2018-08-09 12:51:12.965 IST [5166] WARNING:  AbortTransaction while in ABORT state
WARNING:  AbortTransaction while in ABORT state
WARNING:  AbortTransaction while in ABORT state
2018-08-09 12:51:12.965 IST [5166] ERROR:  cannot make new WAL entries during recovery
2018-08-09 12:51:12.965 IST [5166] PANIC:  ERRORDATA_STACK_SIZE exceeded

ERROR:  cannot execute DELETE in a read-only transaction
ERROR:  cannot make new WAL entries during recovery
ERROR:  cannot make new WAL entries during recovery
ERROR:  cannot make new WAL entries during recovery
ERROR:  cannot make new WAL entries during recovery
PANIC:  ERRORDATA_STACK_SIZE exceeded
server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.
The connection to the server was lost. Attempting reset: 2018-08-09 12:53:39.180 IST [98163] LOG:  server process (PID 5166) was terminated by signal 6: Abort trap

我不知道待机状态为何崩溃。有人知道吗?

1 个答案:

答案 0 :(得分:0)

除非您有数据损坏,那一定是PostgreSQL错误。

首先,立即升级到10.5。

如果错误仍然存​​在,请generate a stack trace并将问题报告给hackers mailing listfill out the bug form