On Thu, Feb 8, 2024 at 7:24 PM James Coleman <jtc...@gmail.com> wrote: > > On Thu, Feb 8, 2024 at 4:47 AM Ashutosh Bapat > <ashutosh.bapat....@gmail.com> wrote: > > > > On Thu, Feb 8, 2024 at 9:57 AM Laurenz Albe <laurenz.a...@cybertec.at> > > wrote: > > > > > > On Thu, 2024-02-08 at 13:40 +1100, Peter Smith wrote: > > > > - how to set the replica identity. If a table without a replica > > > > identity is > > > > + how to set the replica identity. If a table without a replica > > > > identity > > > > + (or with replica identity behavior the same as > > > > <literal>NOTHING</literal>) is > > > > added to a publication that replicates <command>UPDATE</command> > > > > or <command>DELETE</command> operations then > > > > subsequent <command>UPDATE</command> or <command>DELETE</command> > > > > > > I had the impression that the root of the confusion was the perceived > > > difference > > > between "REPLICA IDENTITY NOTHING" and "no replica identity", and that > > > change > > > doesn't improve that. > > > > > > How about: > > > > > > If a table without a replica identity (explicitly set to > > > <literal>NOTHING</literal>, > > > or set to a primary key or index that doesn't exist) is added ... > > > > Another possibility is just to improve the documentation of various > > options as follows. > > > > DEFAULT > > > > If there is a primary key, record the old values of the columns of the > > primary key. Otherwise it acts as NOTHING. This is the default for > > non-system tables. > > > > USING INDEX index_name > > > > Records the old values of the columns covered by the named index, that > > must be unique, not partial, not deferrable, and include only columns > > marked NOT NULL. If this index is dropped, the behavior is the same as > > NOTHING. > > > > FULL > > > > Records the old values of all columns in the row. > > > > NOTHING > > > > Records no information about the old row. This is equivalent to having > > no replica identity. This is the default for system tables. > > This is the simplest change, and it does solve the confusion, so I'd > be happy with it also. The other proposals have the benefit of having > all the information necessary on the publications page rather than > requiring the user to refer to the ALTER TABLE REPLICA IDENTITY page > to understand what's meant. >
There is no harm in having it at both places (publications page and ALTER TABLE REPLICA IDENTITY page). Would someone be interested in preparing a patch with the changes agreed upon? -- With Regards, Amit Kapila.