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
发布的新名称。
将发布修改为只发布删除和更新: Change the publication to publish only deletes and updates:
ALTER PUBLICATION noinsert SET (publish = 'update, delete');
给发布添加一些表:
ALTER PUBLICATION mypublication ADD TABLE users, departments;
ALTER PUBLICATION
是PostgreSQL的一个扩展。
CREATE PUBLICATION , DROP PUBLICATION, CREATE SUBSCRIPTION, ALTER SUBSCRIPTION
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。