Skip to content

Commit

Permalink
Travaux du 3è jour
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Jun 24, 2022
1 parent f7e4051 commit a29d723
Show file tree
Hide file tree
Showing 7 changed files with 369 additions and 349 deletions.
106 changes: 54 additions & 52 deletions postgresql/ref/alter_publication.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ PostgreSQL documentation

<refsynopsisdiv>
<synopsis>
ALTER PUBLICATION <replaceable class="parameter">name</replaceable> ADD <replaceable class="parameter">publication_object</replaceable> [, ...]
ALTER PUBLICATION <replaceable class="parameter">name</replaceable> SET <replaceable class="parameter">publication_object</replaceable> [, ...]
ALTER PUBLICATION <replaceable class="parameter">name</replaceable> DROP <replaceable class="parameter">publication_object</replaceable> [, ...]
ALTER PUBLICATION <replaceable class="parameter">name</replaceable> SET ( <replaceable class="parameter">param_publication</replaceable> [= <replaceable class="parameter">valeur</replaceable>] [, ... ] )
ALTER PUBLICATION <replaceable class="parameter">name</replaceable> OWNER TO { <replaceable>nouveau_proprietaire</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <replaceable>nouveau_nom</replaceable>
ALTER PUBLICATION <replaceable class="parameter">nom</replaceable> ADD <replaceable class="parameter">objet_publication</replaceable> [, ...]
ALTER PUBLICATION <replaceable class="parameter">nom</replaceable> SET <replaceable class="parameter">objet_publication</replaceable> [, ...]
ALTER PUBLICATION <replaceable class="parameter">nom</replaceable> DROP <replaceable class="parameter">objet_publication</replaceable> [, ...]
ALTER PUBLICATION <replaceable class="parameter">nom</replaceable> SET ( <replaceable class="parameter">paramètre_publication</replaceable> [= <replaceable class="parameter">valeur</replaceable>] [, ... ] )
ALTER PUBLICATION <replaceable class="parameter">nom</replaceable> OWNER TO { <replaceable>nouveau_propriétaire</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER PUBLICATION <replaceable class="parameter">nom</replaceable> RENAME TO <replaceable>nouveau_nom</replaceable>

<phrase>where <replaceable class="parameter">publication_object</replaceable> is one of:</phrase>
<phrase> <replaceable class="parameter">objet_publication</replaceable> est parmi&nbsp;:</phrase>

TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] [ ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) ] [ WHERE ( <replaceable class="parameter">expression</replaceable> ) ] [, ... ]
ALL TABLES IN SCHEMA { <replaceable class="parameter">schema_name</replaceable> | CURRENT_SCHEMA } [, ... ]
TABLE [ ONLY ] <replaceable class="parameter">nom_table</replaceable> [ * ] [ ( <replaceable class="parameter">nom_colonne</replaceable> [, ... ] ) ] [ WHERE ( <replaceable class="parameter">expression</replaceable> ) ] [, ... ]
ALL TABLES IN SCHEMA { <replaceable class="parameter">nom_schéma</replaceable> | CURRENT_SCHEMA } [, ... ]
</synopsis>
</refsynopsisdiv>

Expand All @@ -47,22 +47,22 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<para>
Les trois premières variantes modifient les tables/schémas faisant partie de
la publication. La clause <literal>SET</literal> remplacera la liste des
tables/schémas de la publication avec celle indiquée&nbsp;; the existing
tables/schemas that were present in the publication will be removed. The Les
clauses <literal>ADD</literal> et <literal>DROP</literal>, respectivement,
ajouteront et supprimeront une ou plusieurs tables/schémas à la publication.
Notez qu'ajouter des tables/schémas à une publication où des souscriptions
ont déjà eu lieu nécessiteront un <literal>ALTER SUBSCRIPTION ... REFRESH
PUBLICATION</literal> du côté de l'abonné pour devenir réelle. Note also
that the combination of <literal>DROP</literal> with a
<literal>WHERE</literal> clause is not allowed.
tables/schémas de la publication avec celle indiquée&nbsp;; les
schémas/tables existant qui étaient présents dans la publication seront
supprimés. Les clauses <literal>ADD</literal> et <literal>DROP</literal>,
respectivement, ajouteront et supprimeront une ou plusieurs tables/schémas à
la publication. Notez qu'ajouter des tables/schémas à une publication où des
souscriptions ont déjà eu lieu nécessiteront un <literal>ALTER SUBSCRIPTION
... REFRESH PUBLICATION</literal> du côté de l'abonné pour devenir réelle.
Note aussi que la combinaison de <literal>DROP</literal> avec une clause
<literal>WHERE</literal> n'est pas autorisée.
</para>

<para>
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
<xref linkend="sql-createpublication"/>. Les propriétés qui ne sont pas
mentionnées dans la commande restent à leurs anciennes valeurs.
toutes les propriétés de la publication spécifiées dans <xref
linkend="sql-createpublication"/>. Les propriétés qui ne sont pas mentionnées
dans la commande restent à leurs anciennes valeurs.
</para>

<para>
Expand All @@ -73,23 +73,25 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<para>
Vous devez être le propriétaire de la publication pour utiliser
<command>ALTER PUBLICATION</command>. Ajouter une table à une publication
requiert en plus d'être le propriétaire de cette table.
The <literal>ADD ALL TABLES IN SCHEMA</literal> and
<literal>SET ALL TABLES IN SCHEMA</literal> to a publication requires the
invoking user to be a superuser. To alter the owner, you must also be a
direct or indirect member of the new owning role. The new owner must have
<literal>CREATE</literal> privilege on the database. Also, the new owner
of a <literal>FOR ALL TABLES</literal> or <literal>FOR ALL TABLES IN
SCHEMA</literal> publication must be a superuser. However, a superuser can
change the ownership of a publication regardless of these restrictions.
requiert en plus d'être le propriétaire de cette table. Les clauses
<literal>ADD ALL TABLES IN SCHEMA</literal> et <literal>SET ALL TABLES IN
SCHEMA</literal> pour une publication requiert que l'utilisateur exécutant la
requête ait l'attribut <literal>SUPERUSER</literal>. Pour modifier le
propriétaire, vous devez aussi être un membre direct ou indirect du nouveau
rôle propriétaire. Le nouveau propriétaire doit avoir le droit
<literal>CREATE</literal> sur la base. De plus, le nouveau propriétaire d'une
publication <literal>FOR ALL TABLES</literal> et <literal>FOR ALL TABLES IN
SCHEMA</literal> doit avoir l'attribut <literal>SUPERUSER</literal>.
Cependant, un superutilisateur peut modifier le propriétaire d'une
publication sans ces restrictions.
</para>

<para>
Adding/Setting a table that is part of schema specified in
<literal>ALL TABLES IN SCHEMA</literal>, adding/setting a schema to a
publication that already has a table that is part of the specified schema or
adding/setting a table to a publication that already has a table's schema as
part of the specified schema is not supported.
Ajouter/configurer une table qui fait partie d'un schéma pris en compte dans
<literal>ALL TABLES IN SCHEMA</literal>, ajouter/configurer un schéma à une
publication qui a déjà une table qui fait partie du schéma indiqué ou
ajouter/configurer une table à un publication qui a déjà un schéma de table
faisant partie du schéma indiqué n'est pas supporté.
</para>
</refsect1>

Expand Down Expand Up @@ -119,17 +121,17 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
</para>

<para>
Optionally, a column list can be specified. See <xref
linkend="sql-createpublication"/> for details.
En supplément, une liste de colonnes peut être indiquée. Voir <xref
linkend="sql-createpublication"/> pour les détails.
</para>

<para>
If the optional <literal>WHERE</literal> clause is specified, rows for
which the <replaceable class="parameter">expression</replaceable>
evaluates to false or null will not be published. Note that parentheses
are required around the expression. The
<replaceable class="parameter">expression</replaceable> is evaluated with
the role used for the replication connection.
Si la clause optionnelle <literal>WHERE</literal> est indiquée, les lignes
pour lesquelles <replaceable class="parameter">expression</replaceable>
est évaluée à false ou NULL ne seront pas publiées. Notez que des
parenthèses sont requises autour de l'expression. <replaceable
class="parameter">expression</replaceable> est évalué avec le rôle utilisé
pour la connexion de réplication.
</para>
</listitem>
</varlistentry>
Expand All @@ -138,7 +140,7 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<term><replaceable class="parameter">schema_name</replaceable></term>
<listitem>
<para>
Name of an existing schema.
Nom d'un schéma existant.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -192,25 +194,25 @@ ALTER PUBLICATION mypublication ADD TABLE users (user_id, firstname), department
</programlisting></para>

<para>
Change the set of columns published for a table:
Modifier l'ensemble de colonnes publiées pour une table&nbsp;:
<programlisting>
ALTER PUBLICATION mypublication SET TABLE users (user_id, firstname, lastname), TABLE departments;
</programlisting></para>

<para>
Add schemas <structname>marketing</structname> and
<structname>sales</structname> to the publication
<structname>sales_publication</structname>:
Ajouter les schémas <structname>marketing</structname> et
<structname>sales</structname> à la publication
<structname>sales_publication</structname>&nbsp;:
<programlisting>
ALTER PUBLICATION sales_publication ADD ALL TABLES IN SCHEMA marketing, sales;
</programlisting>
</para>

<para>
Add tables <structname>users</structname>,
<structname>departments</structname> and schema
<structname>production</structname> to the publication
<structname>production_publication</structname>:
Ajouter les tables <structname>users</structname>,
<structname>departments</structname> et le schéma
<structname>production</structname> à la publication
<structname>production_publication</structname>&nbsp;:
<programlisting>
ALTER PUBLICATION production_publication ADD TABLE users, departments, ALL TABLES IN SCHEMA production;
</programlisting>
Expand Down
87 changes: 42 additions & 45 deletions postgresql/ref/alter_subscription.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> REFRESH PUBL
ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> ENABLE
ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> DISABLE
ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> SET ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">valeur</replaceable>] [, ... ] )
ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )
ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> SKIP ( <replaceable class="parameter">option_ignore</replaceable> = <replaceable class="parameter">valeur</replaceable> )
ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> OWNER TO { <replaceable>nouveau_proprietaire</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> RENAME TO <replaceable>nouveau_nom</replaceable>
</synopsis>
Expand Down Expand Up @@ -67,14 +67,11 @@ ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> RENAME TO <r
Les commandes <command>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</command>
et <command>ALTER SUBSCRIPTION ...{SET|ADD|DROP} PUBLICATION ...</command>
avec l'option <literal>refresh</literal> activée ne peuvent pas être
exécutées dans un bloc de transaction.

These commands also cannot be executed when the subscription has
<literal>two_phase</literal> commit enabled,
unless <literal>copy_data</literal> is <literal>false</literal>.
See column <structfield>subtwophasestate</structfield> of
<link linkend="catalog-pg-subscription"><structname>pg_subscription</structname></link>
to know the actual two-phase state.
exécutées dans un bloc de transaction. Ces commandes peuvent pas non plus
être exécutées quand la souscription a l'option <literal>two_phase</literal>
activée, sauf si <literal>copy_data</literal> vaut <literal>false</literal>.
Voir la colonne <structfield>subtwophasestate</structfield> de <link
linkend="catalog-pg-subscription"><structname>pg_subscription</structname></link>
</para>
</refsect1>

Expand Down Expand Up @@ -108,18 +105,16 @@ ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> RENAME TO <r
<term><literal>DROP PUBLICATION <replaceable class="parameter">nom_publication</replaceable></literal></term>
<listitem>
<para>
Ces syntaxes changent la liste des publications souscrites. <literal>SET</literal>
remplace la liste entière des publications avec une nouvelle liste,
<literal>ADD</literal> ajoute des publications supplémentaires à la
liste de publications, et <literal>DROP</literal> supprime des
publications de la liste des publications.
We allow non-existent publications to be
specified in <literal>ADD</literal> and <literal>SET</literal> variants
so that users can add those later.
Voir <xref
linkend="sql-createsubscription"/> pour plus d'informations. Par
défaut, cette commande agira aussi comme <literal>REFRESH
PUBLICATION</literal>.
Ces syntaxes changent la liste des publications souscrites.
<literal>SET</literal> remplace la liste entière des publications avec une
nouvelle liste, <literal>ADD</literal> ajoute des publications
supplémentaires à la liste de publications, et <literal>DROP</literal>
supprime des publications de la liste des publications. Nous permettons
aux publications inexistantes d'être indiquées dans les variantes
<literal>ADD</literal> et <literal>SET</literal> pour que les utilisateurs
puissent les ajouter après. Voir <xref linkend="sql-createsubscription"/>
pour plus d'informations. Par défaut, cette commande agira aussi comme
<literal>REFRESH PUBLICATION</literal>.
</para>

<para>
Expand Down Expand Up @@ -169,13 +164,14 @@ ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> RENAME TO <r
<term><literal>copy_data</literal> (<type>boolean</type>)</term>
<listitem>
<para>
Specifies whether to copy pre-existing data in the publications
that are being subscribed to when the replication starts.
The default is <literal>true</literal>.
Indique de copier les données pré-existantes dans la publication
en cours de souscription quand la réplication démarre. La valeur
par défaut est <literal>true</literal>.
</para>
<para>
Previously subscribed tables are not copied, even if a table's row
filter <literal>WHERE</literal> clause has since been modified.
Les tables précédemment souscrites ne sont pas copiées, même si la
clause <literal>WHERE</literal> de filtre de lignes d'une table a
depuis été modifiée.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -224,35 +220,36 @@ ALTER SUBSCRIPTION <replaceable class="parameter">nom</replaceable> RENAME TO <r
<term><literal>SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )</literal></term>
<listitem>
<para>
Skips applying all changes of the remote transaction. If incoming data
violates any constraints, logical replication will stop until it is
resolved. By using the <command>ALTER SUBSCRIPTION ... SKIP</command> command,
the logical replication worker skips all data modification changes within
the transaction. This option has no effect on the transactions that are
already prepared by enabling <literal>two_phase</literal> on
subscriber.
After the logical replication worker successfully skips the transaction or
finishes a transaction, the LSN (stored in
Ignore l'application de tous les changements de la transaction distante.
Si des données entrantes violent des contraintes, la réplication logique
s'arrêtera jusqu'à ce que le problème soit résolu. En utilisant la
commande <command>ALTER SUBSCRIPTION ... SKIP</command>, le processus
worker de réplication logique ignore tous les changements de modification
de données dans la transaction. Cette option n'a pas d'effet sur les
transactions qui sont déjà préparées en activant l'option
<literal>two_phase</literal> sur le souscripteur. Après que le processus
worker de la réplication logique ait ignoré avec succès la transaction ou
ait terminé une transaction, le LSN, enregistré dans
<structname>pg_subscription</structname>.<structfield>subskiplsn</structfield>)
is cleared. See <xref linkend="logical-replication-conflicts"/> for
the details of logical replication conflicts. Using this command requires
superuser privilege.
est effacé. Voir <xref linkend="logical-replication-conflicts"/> pour les
détails des conflits sur la réplication logique. Utiliser cette commande
requiert l'attribut <literal>SUPERUSER</literal>.
</para>

<para>
<replaceable>skip_option</replaceable> specifies options for this operation.
The supported option is:
<replaceable>skip_option</replaceable> précise les options pour cette opération.
La seule option acceptée est&nbsp;:

<variablelist>
<varlistentry>
<term><literal>lsn</literal> (<type>pg_lsn</type>)</term>
<listitem>
<para>
Specifies the finish LSN of the remote transaction whose changes
are to be skipped by the logical replication worker. The finish LSN
is the LSN at which the transaction is either committed or prepared.
Skipping individual subtransactions is not supported. Setting
<literal>NONE</literal> resets the LSN.
Indique le LSN de fin de la transaction distante dont les changements
doivent être ignorés par le processus worker de réplication logique.
Le LSN de fin est le LSN pour lequel la transaction est soit validée
soit préparée. Ignorer les sous-transactions individuelles n'est pas
supportée. Configurer à <literal>NONE</literal> réinitialise le LSN.
</para>
</listitem>
</varlistentry>
Expand Down

0 comments on commit a29d723

Please sign in to comment.