ALTER SUBSCRIPTION — 修改订阅的定义
ALTER SUBSCRIPTIONnameCONNECTION 'conninfo' ALTER SUBSCRIPTIONnameSET PUBLICATIONpublication_name[, ...] [ WITH (set_publication_option[=value] [, ... ] ) ] ALTER SUBSCRIPTIONnameREFRESH PUBLICATION [ WITH (refresh_option[=value] [, ... ] ) ] ALTER SUBSCRIPTIONnameENABLE ALTER SUBSCRIPTIONnameDISABLE ALTER SUBSCRIPTIONnameSET (subscription_parameter[=value] [, ... ] ) ALTER SUBSCRIPTIONnameOWNER TO {new_owner| CURRENT_USER | SESSION_USER } ALTER SUBSCRIPTIONnameRENAME TOnew_name
ALTER SUBSCRIPTION可以修改大部分可以在
CREATE SUBSCRIPTION中指定的订阅属性。
要使用ALTER SUBSCRIPTION,你必须拥有该订阅。要改变所有者,
你也必须是新所有者的直接或间接成员。新所有者必须是超级用户。(目前,
所有的订阅所有者必须是超级用户,所以所有者的检查将在实践中被绕过,
但这可能在未来发生变化。)
name要修改属性的订阅的名称。
CONNECTION 'conninfo'该子句修改最初由CREATE SUBSCRIPTION设置的连接属性。
SET PUBLICATION publication_name
更改已订阅发布的列表。SET用新列表替换整个发布列表,ADD将其他发布添加到发布列表中,而DROP将发布从发布列表中删除。有关详细信息,请参见CREATE SUBSCRIPTION。默认情况下,此命令的作用类似于REFRESH PUBLICATION。
publication_option指定了这个操作的附加选项。
支持的选项是:
refresh (boolean)
如果为false,则该命令将不会尝试刷新表信息。然后应单独执行
REFRESH PUBLICATION。默认值是true。
此外,可以指定REFRESH PUBLICATION下描述的选项,以控制隐式刷新操作。
REFRESH PUBLICATION
从发布者获取缺少的表信息。这将开始复制自上次调用REFRESH PUBLICATION
或从CREATE SUBSCRIPTION以来添加到订阅发布中的表。
refresh_option指定了刷新操作的附加选项。
支持的选项有:
copy_data (boolean)
指定在复制启动后是否应复制正在订阅的发布中的现有数据。
默认值是true。(以前订阅的表不会被复制。)
ENABLE启用先前禁用的订阅,在事务结束时启动逻辑复制工作。
DISABLE禁用正在运行的订阅,在事务结束时停止逻辑复制工作。
SET ( subscription_parameter [= value] [, ... ] )
该子句修改原先由CREATE SUBSCRIPTION设置的参数。
能够被设置的参数是slot_name,synchronous_commit。
new_owner订阅的新所有者的用户名。
new_name订阅的新名称。
将订阅的发布更改为insert_only:
ALTER SUBSCRIPTION mysub SET PUBLICATION insert_only;
禁用(停止)订阅:
ALTER SUBSCRIPTION mysub DISABLE;
ALTER SUBSCRIPTION是LightDB
的一个扩展。