问题标签 [pglogical]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
23 浏览

postgresql - 使用 AWS DMS 进行大对象复制?

想要检查当源数据库和目标数据库是 PostgreSQL 时 AWS DMS 是否支持大对象复制?

我只是使用pglogical来复制一个具有大对象(如 IOD 等)的数据库,而目标数据库没有 LO。

当我在目标上查询使用 OID 列的表时:

json 列是 oid 数据类型

如果 AWS DMS 处理好它,我将开始使用它。

谢谢

0 投票
0 回答
15 浏览

postgresql - 停止和恢复 pglogical 复制 -PostgreSQL 12

我想检查是否有办法使用 pglogical 停止和恢复 PostgreSQL 复制?出于某种原因,如果发布者或订阅者需要重新启动并离线一段时间(或由于某些 n/w 问题而导致连接问题),有没有办法停止复制并再次恢复它?我知道这不是一个相关示例,但 AWS DMS(使用 Postgres 本机逻辑复制)为您提供了停止/恢复复制的选项。想检查 pglogical 中是否有类似的选项。

谢谢

0 投票
1 回答
29 浏览

postgresql - 为什么我不能创建 pglogical 订阅?

我正在尝试设置从 postgres DB 源(pg 11.7,pglogical 2.2.1)到目标(pg 13.5,pglogical 2.3.3)的复制

跨数据库的连接和访问被配置和测试。

我已经手动将角色从源复制到目标pg_dump -g globals,然后psql -f globals.sql在目标上使用源。

我已经手动将模式从源复制到目标pg_dump -Fc -s -f ~/schema.dmp mydatabase,然后pg_restore -d mydatabase schema.dmp在目标上使用源。

我已经修改了每个 DBs postgres.conf :

在我alter system set shared_preload_libraries = 'pglogical';和重新启动的两个数据库上

在两个数据库上我CREATE EXTENSION pglogical;

在源我创建节点SELECT pglogical.create_node(node_name := 'provider', dsn := 'host=<source_IP> port=5432 dbname=mydatabase user=pglogical password=<password>');

在源上,我将所有表添加到复制集中SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[]);

在源上,我将所有序列添加到复制集中SELECT pglogical.replication_set_add_all_sequences(set_name := 'default', schema_names := '{public}'::text[], synchronize_data := true );

在目标上我创建节点SELECT pglogical.create_node(node_name := 'subscriber', dsn := 'host=<target_IP> port=5432 dbname=mydatabase user=pglogical password=<password>');

最后我尝试使用 `SELECT pglogical.create_subscription(subscription_name := 'subscription', provider_dsn := 'host=<target_IP> port=5432 dbname=mydatabase user=pglogical password=', replication_sets := '{默认}'::text[]);

这导致源上出现以下错误:

并在目标日志中发现此错误:

我已经尝试了包含所有类型转换的 pglogical.create_subscription 函数,它没有改变任何东西。

在我看到的目标上:

在我看到的来源:

为什么我不能创建此订阅?pglogical 是否支持从 PG11.7 到 PG13.5 的流式传输?