postgres.git / summary / log / commit / refs

commit    fc6e1a0f2bad75bc021024c5a676576962222157
Author:   Fujii Masao <fujii@postgresql.org>
Date:     Thu Nov 27 14:30:51 2025 +0000
First released in: 15.16, 16.12, 17.8, 18.2

    doc: Fix misleading synopsis for CREATE/ALTER PUBLICATION.
    
    The documentation for CREATE/ALTER PUBLICATION previously showed:
    
            [ ONLY ] table_name [ * ] [ ( column_name [, ... ] ) ] [ WHERE ( expression ) ] [, ... ]
    
    to indicate that the table/column specification could be repeated.
    However, placing [, ... ] directly after a multi-part construct was
    misleading and made it unclear which portion was repeatable.
    
    This commit introduces a new term, table_and_columns, to represent:
    
            [ ONLY ] table_name [ * ] [ ( column_name [, ... ] ) ] [ WHERE ( expression ) ]
    
    and updates the synopsis to use:
    
            table_and_columns [, ... ]
    
    which clearly identifies the repeatable element.
    
    Backpatched to v15, where the misleading syntax was introduced.
    
    Author: Peter Smith <smithpb2250@gmail.com>
    Reviewed-by: Chao Li <lic@highgo.com>
    Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
    Discussion: https://postgr.es/m/CAHut+PtsyvYL3KmA6C8f0ZpXQ=7FEqQtETVy-BOF+cm9WPvfMQ@mail.gmail.com
    Backpatch-through: 15


doc/src/sgml/ref/alter_publication.sgml | 8 ++++++-- doc/src/sgml/ref/create_publication.sgml | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml index c2090112dc1..d9cae776e05 100644 --- a/doc/src/sgml/ref/alter_publication.sgml +++ b/doc/src/sgml/ref/alter_publication.sgml @@ -30,13 +30,17 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r <phrase>where <replaceable class="parameter">publication_object</replaceable> is one of:</phrase> - TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] [ ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) ] [ WHERE ( <replaceable class="parameter">expression</replaceable> ) ] [, ... ] + TABLE <replaceable class="parameter">table_and_columns</replaceable> [, ... ] TABLES IN SCHEMA { <replaceable class="parameter">schema_name</replaceable> | CURRENT_SCHEMA } [, ... ] -<phrase>where <replaceable class="parameter">publication_drop_object</replaceable> is one of:</phrase> +<phrase>and <replaceable class="parameter">publication_drop_object</replaceable> is one of:</phrase> TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] [, ... ] TABLES IN SCHEMA { <replaceable class="parameter">schema_name</replaceable> | CURRENT_SCHEMA } [, ... ] + +<phrase>and <replaceable class="parameter">table_and_columns</replaceable> is:</phrase> + + [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] [ ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) ] [ WHERE ( <replaceable class="parameter">expression</replaceable> ) ] </synopsis> </refsynopsisdiv> diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgml index 606aa64ecfa..1c198ea6e3a 100644 --- a/doc/src/sgml/ref/create_publication.sgml +++ b/doc/src/sgml/ref/create_publication.sgml @@ -28,8 +28,12 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable> <phrase>where <replaceable class="parameter">publication_object</replaceable> is one of:</phrase> - TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] [ ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) ] [ WHERE ( <replaceable class="parameter">expression</replaceable> ) ] [, ... ] + TABLE <replaceable class="parameter">table_and_columns</replaceable> [, ... ] TABLES IN SCHEMA { <replaceable class="parameter">schema_name</replaceable> | CURRENT_SCHEMA } [, ... ] + +<phrase>and <replaceable class="parameter">table_and_columns</replaceable> is:</phrase> + + [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] [ ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) ] [ WHERE ( <replaceable class="parameter">expression</replaceable> ) ] </synopsis> </refsynopsisdiv> [parent: 54ba4a66fdc4]