ALTER PUBLICATION — 修改发布的定义
ALTER PUBLICATIONnameADD TABLE [ ONLY ]table_name[ * ] [, ...] ALTER PUBLICATIONnameSET TABLE [ ONLY ]table_name[ * ] [, ...] ALTER PUBLICATIONnameDROP TABLE [ ONLY ]table_name[ * ] [, ...] ALTER PUBLICATIONnameSET (publication_parameter[=value] [, ... ] ) ALTER PUBLICATIONnameOWNER TO {new_owner| CURRENT_USER | SESSION_USER } ALTER PUBLICATIONnameRENAME TOnew_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的一个扩展。