CREATE SUBSCRIPTION

原创
2017/05/04 14:59
阅读数 1.7K

CREATE SUBSCRIPTION — 定义一个新的订阅

语法

CREATE SUBSCRIPTION subscription_name

    CONNECTION 'conninfo'

    PUBLICATION { publication_name [, ...] }

    [ WITH ( option [, ... ] ) ]

 

这里的 option 可以是:

 

    | ENABLED | DISABLED

    | CREATE SLOT | NOCREATE SLOT

    | SLOT NAME = slot_name

    | COPY DATA | NOCOPY DATA

    | SYNCHRONOUS_COMMIT = synchronous_commit

    | NOCONNECT

描述

CREATE SUBSCRIPTION 为当前数据库添加一个新的订阅。订阅的名字必须与数据库中任何现存的订阅名字不同。

订阅代表与发布者的复制连接。因此,此命令不仅在本地目录中添加定义,还会在发布者上创建复制槽。

一个逻辑复制工作者在运行此命令的事务提交时将开始为新的订阅复制数据。

当指定了CREATE SLOT时,不能在事务块的内部执行CREATE SUBSCRIPTION。

参数

subscription_name

新订阅的名称。

CONNECTION 'conninfo'

连接到发布者的字符串。

PUBLICATION publication_name

订阅的发布者的发布名称。

ENABLED
DISABLED

指定订阅是否应该主动复制,或者是否应该只是安装但尚未启动。请注意,两种情况下均创建如上所述的复制槽。ENABLED是默认值。

CREATE SLOT
NOCREATE SLOT

指定该命令是否应该在发布者上创建复制槽。CREATE SLOT是默认值。

SLOT NAME = slot_name

要使用的复制槽的名称。默认行为是使用 subscription_name 作为槽的名称。

COPY DATA
NOCOPY DATA

指定复制开始后是否应复制正在订阅的发布中的现有数据。默认是 COPY DATA。

SYNCHRONOUS_COMMIT = synchronous_commit

这个参数的值覆盖synchronous_commit 设置。默认值是off。

可以为逻辑复制安全地使用off:如果用户由于丢失同步而丢失事务,则数据将从发布者重新发送。

在执行同步逻辑复制时,不同的设置可能是合适的。逻辑复制工作者将写入和刷新的位置报告给发布者,并且在使用同步复制时,发布者将等待实际的刷新。这意味着当订阅用于同步复制时,将订阅者的SYNCHRONOUS_COMMIT设置为off可能会增加发布者的COMMIT延迟。在这种情况下,将SYNCHRONOUS_COMMIT设置为local或更高可能是有利的。

NOCONNECT

指示CREATE SUBSCRIPTION跳过与提供者的初始连接。这会将其他选项的默认值更改为DISABLED、NOCREATE SLOT和NOCOPY DATA。

不允许将NOCONNECT和ENABLED、CREATE SLOT或COPY DATA组合。

由于在指定此选项时未连接,因此表不会订阅,因此在启用订阅之后,不会复制任何内容。 需要运行ALTER SUBSCRIPTION ... REFRESH PUBLICATION以便订阅表。

示例

创建一个远程服务器的订阅,在发布mypublication和insert_only中复制表,并且一旦提交立即开始复制:

CREATE SUBSCRIPTION mysub

         CONNECTION 'host=192.168.1.50 port=5432 user=foo dbname=foodb'

        PUBLICATION mypublication, insert_only;

创建一个到远程服务器的订阅,在insert_only发布中复制表,并且直到稍后启用时开始复制。

CREATE SUBSCRIPTION mysub

         CONNECTION 'host=192.168.1.50 port=5432 user=foo dbname=foodb'

        PUBLICATION insert_only

               WITH (DISABLED);

兼容性

CREATE SUBSCRIPTION 是一个PostgreSQL 扩展。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部