ALTER SUBSCRIPTION — modifier la définition d'une souscription
ALTER SUBSCRIPTIONnom
CONNECTION 'conninfo
' ALTER SUBSCRIPTIONnom
SET PUBLICATIONnom_publication
[, ...] [ WITH (option_publication
[=valeur
] [, ... ] ) ] ALTER SUBSCRIPTIONnom
ADD PUBLICATIONnom_publication
[, ...] [ WITH (option_publication
[=valeur
] [, ... ] ) ] ALTER SUBSCRIPTIONnom
DROP PUBLICATIONnom_publication
[, ...] [ WITH (option_publication
[=valeur
] [, ... ] ) ] ALTER SUBSCRIPTIONnom
REFRESH PUBLICATION [ WITH (option_rafraichissement
[=value
] [, ... ] ) ] ALTER SUBSCRIPTIONnom
ENABLE ALTER SUBSCRIPTIONnom
DISABLE ALTER SUBSCRIPTIONnom
SET (subscription_parameter
[=valeur
] [, ... ] ) ALTER SUBSCRIPTIONnom
OWNER TO {nouveau_proprietaire
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER SUBSCRIPTIONnom
RENAME 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.
nom
Le 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_publication
ADD PUBLICATION nom_publication
DROP 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.)
ENABLE
Active la souscription précédemment désactivée, démarrant le worker de réplication logique à la fin de la transaction.
DISABLE
Dé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_proprietaire
Le nom d'utilisateur du nouveau propriétaire de la souscription.
nouveau_nom
Le 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.