ALTER SUBSCRIPTION

ALTER SUBSCRIPTION-更改订阅的定义

Synopsis

ALTER SUBSCRIPTION name CONNECTION 'conninfo'
ALTER SUBSCRIPTION name SET PUBLICATION publication_name [, ...] [ WITH ( set_publication_option [= value] [, ... ] ) ]
ALTER SUBSCRIPTION name REFRESH PUBLICATION [ WITH ( refresh_option [= value] [, ... ] ) ]
ALTER SUBSCRIPTION name ENABLE
ALTER SUBSCRIPTION name DISABLE
ALTER SUBSCRIPTION name SET ( subscription_parameter [= value] [, ... ] )
ALTER SUBSCRIPTION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER SUBSCRIPTION name RENAME TO new_name

Description

ALTER SUBSCRIPTION可以更改可以在CREATE SUBSCRIPTION中指定的大多数订阅属性。

您必须拥有订阅才能使用ALTER SUBSCRIPTION。要更改所有者,您还必须是新拥有角色的直接或间接成员。新所有者必须是超级用户。 (当前,所有订阅所有者必须是超级用户,因此实际上将绕过所有者检查.但是将来可能会改变.)

Parameters

  • name

    • 要更改其属性的订阅的名称。
  • CONNECTION 'conninfo'

    • 此子句更改最初由CREATE SUBSCRIPTION设置的连接属性。有关更多信息,请参见此处。
  • SET PUBLICATION publication_name

    • 更改订阅的出版物列表。有关更多信息,请参见CREATE SUBSCRIPTION。默认情况下,此命令也将像REFRESH PUBLICATION一样起作用。
  • set_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_namesynchronous_commit
  • new_owner

    • 订阅的新所有者的用户名。
  • new_name

    • 订阅的新名称。

Examples

将订阅订阅的出版物更改为insert_only

ALTER SUBSCRIPTION mysub SET PUBLICATION insert_only;

禁用(停止)订阅:

ALTER SUBSCRIPTION mysub DISABLE;

Compatibility

ALTER SUBSCRIPTION是 PostgreSQL 扩展。

See Also

CREATE SUBSCRIPTION, DROP SUBSCRIPTION, CREATE PUBLICATION, ALTER PUBLICATION