ALTER PUBLICATION
功能描述
更改发布的属性。
注意事项
- 该语法仅8.2.0.100及以上集群版本支持。
- 发布的所有者和系统管理员才能执行ALTER PUBLICATION。
- 要改变发布的所有者,用户必须是新所属角色的直接或者间接的成员,并且此角色必须有当前数据库的CREATE权限。
- FOR ALL TABLES发布的新所有者必须是系统管理员。
- 管理员用户可以更改任何发布的所属关系。
语法格式
- 向发布中添加一个或多个发布对象。
1
ALTER PUBLICATION name ADD publication_object [, ...]
- 从发布中删除一个或多个发布对象。
1
ALTER PUBLICATION name DROP publication_object [, ...]
-
1
ALTER PUBLICATION name SET publication_object [, ...]
- 设置发布的参数,未提及的参数保留其之前的值。
1
ALTER PUBLICATION name SET ( publication_parameter [= value] [, ... ] )
- 更改发布的所有者。
1
ALTER PUBLICATION name OWNER TO new_owner
- 重命名发布。
1
ALTER PUBLICATION name RENAME TO new_name
其中发布对象publication_object为:
TABLE table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ... ]
参数说明
- name
待修改的发布的名称。
取值范围:字符串,符合标识符命名规范。
- table_name
现有表的名称。
取值范围:字符串,符合标识符命名规范。
- schema_name
现有模式的名称。
取值范围:字符串,要符合标识符的命名规范。
- SET ( publication_parameter [= value] [, ... ] )
该子句修改最初由CREATE PUBLICATION设置的发布参数。详细的参数说明请参考CREATE PUBLICATION的参数说明。
- new_owner
发布新所有者的用户名称。
- new_name
发布的新名称。
示例
- 向发布中添加表。
ALTER PUBLICATION mypublication ADD TABLE mydata2;
- 从发布中删除模式。
ALTER PUBLICATION mypublication DROP ALL TABLES IN SCHEMA myschema1;
- 重新设置发布的发布对象。
ALTER PUBLICATION mypublication SET TABLE mydata2, ALL TABLES IN SCHEMA myschema2;
- 修改发布的所有者。
ALTER PUBLICATION mypublication OWNER TO user1;
- 修改发布名称。
ALTER PUBLICATION mypublication RENAME TO mypublication1;