更新时间:2024-09-02 GMT+08:00

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;