RE: Add support for specifying tables in pg_createsubscriber.

Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>

From: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, 'Shubham Khanna' <khannashubham1197@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-01T08:03:10Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Support existing publications in pg_createsubscriber.

On Monday, July 28, 2025 1:07 PM Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com> wrote:
> 
> Dear Shubham,
> 
> > The attached patch introduces a new '--table' option that can be
> > specified after each '--database' argument.
> 
> Do we have another example which we consider the ordering of options? I'm
> unsure
> for it. Does getopt_long() always return parsed options with the specified
> order?
> 
> > The syntax is like that used in 'vacuumdb'
> > and supports multiple '--table' arguments per database, including
> > optional column lists and row filters.
> 
> Vacuumdb nor pg_restore do not accept multiple --database, right?
> I'm afraid that current API has too complex.

We have another example to consider: pg_amcheck, which allows users to specify
multiple databases. Following this precedent, it may be beneficial to adopt a
similar style in pg_createsubscriber. E.g., Users could specify tables using
database-qualified names, such as:

./pg_createsubscriber --database db1 --table 'db1.public.t1' --table
'db1.public.t2(a,b) WHERE a > 100' --database db2 --table 'db2.public.t3'

This approach enables the tool to internally categorize specified tables by
database and create publications accordingly.

Best Regards,
Hou zj