On Mon, Aug 4, 2025 at 11:54 AM Peter Smith <smithpb2250@gmail.com> wrote:
>
> Recently, I learned it is possible to say:
>
> CREATE PUBLICATION pub ... WITH (publish_generated_columns);
>
> This is equivalent to:
> CREATE PUBLICATION pub ... WITH (publish_generated_columns = stored);
>
> ~~~
>
> Example:
>
> postgres=# create publication pub for table t with
> (publish_generated_columns=xxx);
> ERROR: invalid value for publication parameter
> "publish_generated_columns": "xxx"
> DETAIL: Valid values are "none" and "stored".
> postgres=# create publication pub for table t with (publish_generated_columns);
> CREATE PUBLICATION
> postgres=# \dRp pub
> List of publications
> Name | Owner | All tables | Inserts | Updates | Deletes | Truncates
> | Generated columns | Via root
> ------+----------+------------+---------+---------+---------+-----------+-------------------+----------
> pub | postgres | f | t | t | t | t
> | stored | f
> (1 row)
>
> ~~~
>
> However, I could not find this kind of shorthand specification (having
> no assigned value) mentioned anywhere in the PG docs [1].
>
> OTOH, I did see this is being tested/commented in 'publication.sql'
> [2], so perhaps that means it is deliberate?
>
> ~~~
>
> What is the verdict for this syntax -- ok or not?
>
I think we should give ERROR for this.
--
With Regards,
Amit Kapila.