我有一个庞大且快速增长的PostgreSQL表(166gb索引和72 GB数据库)。我想设置此表的逻辑复制。双方都是11.4版。
我正在尝试进行2周,但是我唯一要做的就是无限同步并增加副本上的表大小(已经有293 Gb索引和88 Gb表,比原始表还多,并且没有错误)。日志)。 我也尝试进行转储,将其还原并开始同步-但现有主键出现错误。 复制统计信息的Backend_xmin值每周更改一次,但同步状态仍为“启动”。这些服务器之间的网络连接根本没有使用(它们在同一数据中心中),实际速度大约为300-400Kb(看起来像是复制过程中的大部分流式传输部分)。
所以问题是如何正确设置大型且快速增长的表的逻辑复制,是否有可能?谢谢。
答案 0 :(得分:1)
我正在尝试进行2周,但是我唯一要做的就是无限同步并增加副本上的表大小(已经有293 Gb索引和88 Gb表,比原始表还多,并且没有错误)。日志)。
删除副本上的非身份索引,直到完成同步为止。
答案 1 :(得分:1)
问题完全一样 检查日志我发现以下错误:
ERROR: could not receive data from WAL stream: ERROR: canceling statement due to statement timeout
由于大表,超时导致复制中断 通过增加超时,问题消失了
PS 理想情况下,为复制和主库设置单独的超时会更酷。