On Tuesday, May 21, 2024, Peter Smith <
smithpb2250@gmail.com> wrote:
>
> Each publication can optionally specify which columns of each table are replicated to subscribers. The table on the subscriber side must have at least all the columns that are published. If no column list is specified, then all columns on the publisher[, present and future,] are replicated. See CREATE PUBLICATION for details on the syntax.
>
> ...security...
>
> ...delete the entire "ambiguous" paragraph...
>
Your suggested text doesn't seem quite as explicit about that subtle
point, but I guess since you can still infer the same meaning it is
fine.
Right, it doesn’t seem that subtle so long as we point out what an absent column list means. if you specify a column list you get exactly what you asked for. It’s like listing columns in select. But if you don’t specify a column list you get whatever is there at runtime. Which I presume also means dropped columns no longer get replicated, but I haven’t tested and the docs don’t seem to cover column removal…
In contrast, if we don’t say this, one might reasonably assume that it behaves like:
Create view vw select * from tbl;
when it doesn’t.
So yes, I do think saying “present and future” sufficiently covers the intent of the removed paragraph and clearly ties that to the table columns in response to this complaint.
But, maybe say "all columns on the published table" instead of "all
columns on the publisher".
Agreed.
David J.