ALTER SUBSCRIPTION — modifier la définition d'une souscription
ALTER SUBSCRIPTIONnomCONNECTION 'conninfo' ALTER SUBSCRIPTIONnomSET PUBLICATIONnom_publication[, ...] [ WITH (option_publication[=valeur] [, ... ] ) ] ALTER SUBSCRIPTIONnomADD PUBLICATIONnom_publication[, ...] [ WITH (option_publication[=valeur] [, ... ] ) ] ALTER SUBSCRIPTIONnomDROP PUBLICATIONnom_publication[, ...] [ WITH (option_publication[=valeur] [, ... ] ) ] ALTER SUBSCRIPTIONnomREFRESH PUBLICATION [ WITH (option_rafraichissement[=value] [, ... ] ) ] ALTER SUBSCRIPTIONnomENABLE ALTER SUBSCRIPTIONnomDISABLE ALTER SUBSCRIPTIONnomSET (subscription_parameter[=valeur] [, ... ] ) ALTER SUBSCRIPTIONnomOWNER TO {nouveau_proprietaire| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER SUBSCRIPTIONnomRENAME TOnouveau_nom
ALTER SUBSCRIPTION peut changer la plupart des
propriétés d'un souscription pouvant être spécifiées dans CREATE SUBSCRIPTION.
Vous devez être le propriétaire de la souscription pour utiliser
ALTER SUBSCRIPTION. Pour modifier le propriétaire, vous
devez également être un membre direct ou indirect du nouveau rôle
propriétaire. Le nouveau propriétaire doit être un super-utilisateur.
(Actuellement, tous les propriétaires de souscription doivent être
super-utilisateurs, donc les vérifications du propriétaire seront en fait
contournées. Mais ceci pourrait changer dans le futur.)
Lors du rafraichissement d'une publication, nous supprimons les relations qui ne font plus partie de la publication, et nous supprimons aussi les slots de synchronisation de table s'il en existe. Il est nécessaire de supprimer ces slots pour que les ressources allouées à la souscription sur l'hôte distant soient rendues. Si à cause d'erreurs réseau ou autres, PostgreSQL est incapable de supprimer les slots, un message d'erreur sera renvoyé. Pour continuer, l'utilisateur doit soit tenter une nouvelle fois l'opération, soit déassocier le slot de la souscription et supprimer la souscription comme expliquée dans DROP SUBSCRIPTION.
Les commandes ALTER SUBSCRIPTION ... REFRESH PUBLICATION
et ALTER SUBSCRIPTION ...{SET|ADD|DROP} PUBLICATION ...
avec l'option refresh activée ne peuvent pas être
exécutées dans un bloc de transaction.
nomLe nom de la souscription dont la propriété doit être modifiée.
CONNECTION 'conninfo'Cette clause modifie la propriété de connexion positionnée à l'origine par CREATE SUBSCRIPTION. S'y référer pour plus d'informations.
SET PUBLICATION nom_publicationADD PUBLICATION nom_publicationDROP PUBLICATION nom_publication
Change la liste des publications souscrites. SET
remplace la liste entière des publications avec une nouvelle liste,
ADD ajoute des publications supplémentaires à la
liste de publications, et DROP supprime des
publications de la liste des publications. Voir CREATE SUBSCRIPTION pour plus d'informations. Par
défaut, cette commande agira aussi comme REFRESH
PUBLICATION.
option_publication indique des
options supplémentaires pour cette opération. Les options supportées
sont :
refresh (boolean)
Si false, la commande n'essaiera pas de rafraichir des informations
des tables. REFRESH PUBLICATION devrait alors
être exécutée séparément. La valeur par défaut est
true.
De plus, les options décrites sous REFRESH
PUBLICATION peuvent être spécifiées pour contrôler
l'opération implicite de rafraichissement.
REFRESH PUBLICATION
Récupère les informations de table manquante depuis la publication. Cela
commencera la réplication des tables qui avaient été ajoutées en tant que
souscription aux publications depuis la dernière exécution de
REFRESH PUBLICATION ou depuis CREATE
SUBSCRIPTION.
option_rafraichissement spécifie les options
supplémentaires pour l'opération de rafraîchissement. Les options
supportées sont :
copy_data (boolean)
Spécifie si les données existantes dans les publications qui sont
en train d'être souscrites devraient être copiées une fois que la
réplication démarrera.
La valeur par défaut est true. (Les tables
précédemment souscrites ne sont pas copiées.)
ENABLEActive la souscription précédemment désactivée, démarrant le worker de réplication logique à la fin de la transaction.
DISABLEDésactive la souscription en cours d'exécution, arrêtant le worker de réplication logique à la fin de la transaction.
SET ( subscription_parameter [= valeur] [, ... ] )
Cette clause change les paramètres initialement positionnés par
CREATE SUBSCRIPTION. S'y référer pour plus
d'informations. Les paramètres modifiables sont
are slot_name,
synchronous_commit,
binary et
streaming.
nouveau_proprietaireLe nom d'utilisateur du nouveau propriétaire de la souscription.
nouveau_nomLe nouveau nom de la souscription.
Changer la publicatio souscrites par une publication en
insert_only :
ALTER SUBSCRIPTION mysub SET PUBLICATION insert_only;
Désactive (stoppe) la souscription :
ALTER SUBSCRIPTION mysub DISABLE;
ALTER SUBSCRIPTION est une extension PostgreSQL
au standard SQL.