Re: CREATE PUBLICATION with 'publish_generated_columns' parameter specified but unassigned

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Peter Smith <smithpb2250@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-04T06:37:58Z
Lists: pgsql-hackers
On Sunday, August 3, 2025, 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);
>
>
> What is the verdict for this syntax -- ok or not?


Not.

An enum should not allow for an omitted value.  The documented policy of
only booleans being allowed an optional value is what is expected.  I’d say
this is a new-in-18 bug that should be fixed in the code.  The
documentation is correct - absence of the option means “none”, presence
requires an explicit value and not its own missing-value default.

David J.

Commits

  1. Throw ERROR when publish_generated_columns is specified without a value.

  2. Message style improvements