ERROR: invalid logical replication message type "T"

ERROR: invalid logical replication message type "T"

我在 Postgres 10.3 逻辑复制中遇到以下错误。

设置

日志

2021-03-22 13:06:57.332 IST @ 25929 LOG:  checkpoints are occurring too frequently (22 seconds apart)
2021-03-22 13:06:57.332 IST @ 25929 HINT:  Consider increasing the configuration parameter "max_wal_size".
2021-03-22 14:34:21.263 IST @ 21461 ERROR:  invalid logical replication message type "T"
2021-03-22 14:34:21.315 IST @ 3184 LOG:  logical replication apply worker for subscription "elk_subscription_133" has started
2021-03-22 14:34:21.367 IST @ 3184 ERROR:  invalid logical replication message type "T"
2021-03-22 14:34:21.369 IST @ 25921 LOG:  worker process: logical replication worker for subscription 84627 (PID 3184) exited with exit code 1
2021-03-22 14:34:22.259 IST @ 25921 LOG:  worker process: logical replication worker for subscription 84627 (PID 21461) exited with exit code 1
2021-03-22 14:34:27.281 IST @ 3187 LOG:  logical replication apply worker for subscription "elk_subscription_133" has started
2021-03-22 14:34:27.311 IST @ 3187 ERROR:  invalid logical replication message type "T"
2021-03-22 14:34:27.313 IST @ 25921 LOG:  worker process: logical replication worker for subscription 84627 (PID 3187) exited with exit code 1
2021-03-22 14:34:32.336 IST @ 3188 LOG:  logical replication apply worker for subscription "elk_subscription_133" has started
2021-03-22 14:34:32.362 IST @ 3188 ERROR:  invalid logical replication message type "T"

The documentation 描述消息 T:

Truncate

      Byte1('T')

              Identifies the message as a truncate message.

在 v11 中添加了对 TRUNCATE 的支持,因此主服务器必须是 v11 或更高版本。

您必须从发布中删除 table,刷新订阅,手动截断 table,将其添加到发布并再次刷新订阅。

避免TRUNCATE并更改发布:

ALTER PUBLICATION name SET (publish = 'insert, update, delete');