On Wed, May 22, 2024 at 1:22 PM David G. Johnston
<david.g.johns...@gmail.com> wrote:
>
> On Tue, May 21, 2024 at 7:48 PM Peter Smith <smithpb2...@gmail.com> wrote:
>>
>>
>> I think the following small change will remove any ambiguity:
>>
>> BEFORE
>> If no column list is specified, any columns added later are
>> automatically replicated.
>>
>> SUGGESTION
>> If no column list is specified, any columns added to the table later
>> are automatically replicated.
>>
>> ~~
>>
>
> Extended Before:
>
> 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 are replicated. See CREATE PUBLICATION for 
> details on the syntax.
>
> The choice of columns can be based on behavioral or performance reasons. 
> However, do not rely on this feature for security: a malicious subscriber is 
> able to obtain data from columns that are not specifically published. If 
> security is a consideration, protections can be applied at the publisher side.
>
> If no column list is specified, any columns added later are automatically 
> replicated. This means that having a column list which names all columns is 
> not the same as having no column list at all.
>
> I'd suggest:
>
> 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...
>

The "ambiguous" paragraph was trying to make the point that although
(a) having no column-list at all and
(b) having a column list that names every table column

starts off looking and working the same, don't be tricked into
thinking they are exactly equivalent, because if the table ever gets
ALTERED later then the behaviour of those PUBLICATIONs begins to
differ.

~

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.

But, maybe say "all columns on the published table" instead of "all
columns on the publisher".

======
Kind Regards,
Peter Smith.
Fujitsu Australia


Reply via email to