On Wed, Jun 2, 2021 at 6:40 AM Peter Smith <smithpb2250@gmail.com> wrote:
>
> Hi.
>
> The documentation of ALTER SUBSCRIPTION REFRESH PUBLICATION [1] says:
>
> ----------
>
> REFRESH PUBLICATION
>
> Fetch missing table information from publisher. This will start
> replication of tables that were added to the subscribed-to
> publications since the last invocation of REFRESH PUBLICATION or since
> CREATE SUBSCRIPTION.
>
> refresh_option specifies additional options for the refresh operation.
> The supported options are:
>
> copy_data (boolean)
>
> Specifies whether the existing data in the publications that are being
> subscribed to should be copied once the replication starts. The
> default is true. (Previously subscribed --tables are not copied.)
>
> ----------
>
> But I found that default copy_data = true to be unintuitive.
>
> e.g. When I had previously done the CREATE SUBSCRIPTION using
> copy_data = false, then I assumed (wrongly) that the subscription
> default would remain as copy_data = false even when doing the REFRESH
> PUBLICATION.
The fact is that the options copy_data, create_slot and connect are
not stored in the catalog pg_subscription (actually they don't need to
be). Among these the copy_data option can be specified in the ALTER
... SUBSCRIPTION.
> Is that a deliberate functionality, or is it a quirk / bug?
I don't think it's a bug. Maybe adding a note in the docs about the
options which are stored/not stored in the pg_subscription catalog
would help.
With Regards,
Bharath Rupireddy.