pg_createsubscriber

将物理复制转换为逻辑复制的实用程序
此条目与PostgreSQL的一个功能相关,该功能是PostgreSQL 17的一部分,预计将于2024年底发布。

pg_createsubscriber是一个用于将物理备用转换为新的逻辑备用的核心实用程序

pg_createsubscriber是在PostgreSQL 17中添加的。

更改历史记录

示例

pg_createsubscriber的基本用法示例假设一个由主节点和两个物理备用节点组成的三节点集群,并且正在使用复制槽。

postgres=# SELECT slot_name, slot_type, restart_lsn FROM pg_replication_slots ORDER BY 1;
 slot_name | slot_type | restart_lsn 
-----------+-----------+-------------
 node2     | physical  | 0/4000060
 node3     | physical  | 0/4000060
(2 rows)

要将node3转换为逻辑备用,请执行以下步骤:

  1. 停止node3
    node3$ pg_ctl -D /var/lib/pgsql/data/ stop
  2. 执行pg_createsubscriber
    node3$ pg_createsubscriber \
      -D /var/lib/pgsql/data/ \
      --publisher-server 'host=node1 dbname=postgres user=postgres port=5432' \
      -d postgres
  3. 启动node3
    node3$ pg_ctl -D /var/lib/pgsql/data/ start

此时,node3将作为逻辑备用连接到node1

postgres=# SELECT slot_name, slot_type, restart_lsn FROM pg_replication_slots ORDER BY 1;
           slot_name            | slot_type | restart_lsn 
--------------------------------+-----------+-------------
 node2                          | physical  | 0/40382F0
 pg_createsubscriber_5_80f3c6f3 | logical   | 0/40382B8
(2 rows)

分类

核心实用程序逻辑复制管理/管理

另请参阅

pg_basebackup

反馈

提交任何关于“pg_createsubscriber”的评论、建议或更正 此处