ALTER PUBLICATION — change la définition d'une publication
ALTER PUBLICATIONname
ADD TABLE [ ONLY ]nom_table
[ * ] [, ...] ALTER PUBLICATIONname
SET TABLE [ ONLY ]nom_table
[ * ] [, ...] ALTER PUBLICATIONname
DROP TABLE [ ONLY ]nom_table
[ * ] [, ...] ALTER PUBLICATIONname
SET (param_publication
[=valeur
] [, ... ] ) ALTER PUBLICATIONname
OWNER TO {nouveau_proprietaire
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER PUBLICATIONname
RENAME TOnouveau_nom
La commande ALTER PUBLICATION
peut modifier les
attributs d'une publication.
Les trois premières variantes modifient les tables faisant partie de la
publication. La clause SET TABLE
remplacera la liste des
tables de la publication avec celle indiquée. Les clauses ADD
TABLE
et DROP TABLE
, respectivement,
ajouteront et supprimeront une table à la publication. Notez qu'ajouter des
tables à une publication où des souscriptions ont déjà eu lieu
nécessiteront un ALTER SUBSCRIPTION
... REFRESH PUBLICATION
du côté de l'abonné pour devenir réelle.
La quatrième variante de cette commande listée dans le synopsis peut changer toutes les propriétés de la publication spécifiées dans CREATE PUBLICATION. Les propriétés qui ne sont pas mentionnées dans la commande restent à leurs anciennes valeurs.
Les variantes suivantes modifient le propriétaire et le nom de la publication.
Vous devez être le propriétaire de la publication pour utiliser
ALTER PUBLICATION
. Ajouter une table à une publication
requiert en plus d'être le propriétaire de cette table. Pour changer le
propriétaire, vous devez également être un membre direct ou indirect du
nouveau rôle propriétaire. Le nouveau propriétaire doit avoir le privilège
CREATE
sur la base de données. De plus, le nouveau
propriétaire d'une publication FOR ALL TABLES
doit être
un super-utilisateur. Toutefois, un super-utilisateur peut changer le
propriétaire d'une publication quelque soient ces restrictions.
name
Le nom d'une publication existante dont la définition doit être modifiée.
nom_table
Nom d'une table existante. Si ONLY
est spécifié avant
le nom de la table, seule cette table est affectée. Si
ONLY
n'est pas spécifié, la table et toutes les tables
descendantes (s'il y en a) sont affectées. *
peut
être spécifié de manière facultative après le nom de la table pour
indiquer explicitement que les tables descendantes doivent être inclues.
SET ( param_publication
[= valeur
] [, ... ] )
Cette clause change les paramètres de la publication positionnés à l'origine par CREATE PUBLICATION. Consulter cette page pour plus d'information.
nouveau_proprietaire
Le nom d'utilisateur du nouveau propriétaire de la publication.
nouveau_nom
Le nouveau nom de la publication.
Changer la publication pour ne publiquer que les suppression et les mises à jour :
ALTER PUBLICATION noinsert SET (publish = 'update, delete');
Ajouter des tables à la publication :
ALTER PUBLICATION mypublication ADD TABLE users, departments;
ALTER PUBLICATION
est une extension
PostgreSQL au standard SQL.