VastbaseE100

基于开源技术的HTAP数据库管理系统。性能优异,稳定可靠,提供诸多专属领域特性。

Menu

ALTER PUBLICATION

ALTER PUBLICATION - 更改出版物的定义

语法格式

ALTER PUBLICATION name ADD TABLE [ ONLY ] table_name [ * ] [, ...]
ALTER PUBLICATION name SET TABLE [ ONLY ] table_name [ * ] [, ...]
ALTER PUBLICATION name DROP TABLE [ ONLY ] table_name [ * ] [, ...]
ALTER PUBLICATION name SET ( publication_parameter [= value] [, ... ] )
ALTER PUBLICATION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER PUBLICATION name RENAME TO new_name

说明

命令 ALTER PUBLICATION 可以更改发布的属性。

前三个变体会更改哪些表格是出版物的一部分。 SET TABLE子句将使用指定的表替换发布中的表列表。 ADD TABLE 和 DROP TABLE 子句将在发布中添加和删除一个或多个表。请注意,将表添加到已订阅的发布中将需要在订阅方执行ALTER SUBSCRIPTION … REFRESH PUBLICATION 操作才能生效。

语法格式中列出的此命令的第四个变体可以更改 CREATE PUBLICATION中指定的所有发布属性。命令中未提及的属性保留其先前的设置。

其余变体会更改所有者和发布的名称。

您必须拥有该出版物才能使用 ALTER PUBLICATION。要更改所有者,您还必须是新拥有角色的直接或间接成员。新所有者必须具有数据库的CREATE 权限。此外, FOR ALL TABLES发布的新所有者必须是超级用户。但是,超级用户可以在绕过这些限制的同时更改发布的所有权。

参数说明

  • name

    要更改其定义的现有发布的名称。

  • table_name

    现有表的名称。如果在表名之前指定 ONLY ,则仅影响该表。如果未指定 ONLY,则表及其所有后代表(如果有)将受到影响。 (可选)可以在表名后指定 *以明确指示包含后代表。

  • SET ( publication_parameter [= value][, … ] )

    此子句更改最初由 CREATE PUBLICATION设置的发布参数说明。在那里查看更多信息。

  • new_owner

    发布的新所有者的用户名。

  • new_name

    出版物的新名称。

示例

将发布更改为仅发布删除和更新:

ALTER PUBLICATION noinsert SET (publish = 'update, delete');

在发布中添加一些表:

ALTER PUBLICATION mypublication ADD TABLE users, departments;