On Wed, Jun 2, 2021 at 6:40 AM Peter Smith <smithpb2...@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.