我设置了一个将多个主服务器完全复制到一个从属服务器的逻辑功能。
一旦将任何复制的表转换为timescaleDB的hypertable,复制就会停止工作-仅复制结构,但没有数据。
是否可以将timescaleDB与pgologic一起使用?可以使用PostgreSQL 10及其内置的逻辑复制功能吗?
我的猜测是,逻辑复制在由虚拟块组成的表的上下文中没有意义。
我正在尝试将 postgresql 数据库从提供者节点复制到订阅者节点。\n我已遵循http://bonesmoses.org/2016/10/14/pg-phriday-perfectly-logic/中的教程并创建了提供者节点并添加了一个表到复制集和类似创建的订阅者来订阅此表,并且订阅工作正常。 \n之后我添加了更多表,这些表是不同数据库的一部分,但在同一 postgres 实例上,并将这些表添加到新的复制集,但对于该集复制不起作用,该集的订阅者即将关闭。\n如何将此订阅复制为我稍后添加的复制集。
\n\n以下是我在提供者节点上运行的命令:
\n\n第 1 步:运行 pg_dump 文件以导入 DDL 命令
\n\npsql -U postgres -d databasename1 < exportDDL.pgsql\n
Run Code Online (Sandbox Code Playgroud)\n\n第2步:创建提供者节点
\n\nSELECT pglogical.create_node(\nnode_name := \'db_provider\',\ndsn := \'host=docker-container-ip port=5432 dbname=databasename1\'\n
Run Code Online (Sandbox Code Playgroud)\n\n);
\n\n步骤3:创建复制状态
\n\nSELECT pglogical.create_replication_set(\nset_name := \'qrtz\',\nreplicate_insert := TRUE, replicate_update := TRUE,\nreplicate_delete := TRUE, replicate_truncate := TRUE);\n
Run Code Online (Sandbox Code Playgroud)\n\n步骤 4:向该集合添加三个表
\n\nSELECT pglogical.replication_set_add_table(\nset_name := \'qrtz\', relation := \xe2\x80\x98qrtz_logs\', \nsynchronize_data := TRUE);\n\nSELECT pglogical.replication_set_add_table(\nset_name := \'qrtz\', relation := \xe2\x80\x98qrtz_errors\', \nsynchronize_data := TRUE);\n\nSELECT …
Run Code Online (Sandbox Code Playgroud)