Thread: [BUGS] BUG #14719: Logical replication unexpected behaviour when targettable has missing columns

The following bug has been logged on the website:

Bug reference:      14719
Logged by:          Martin Garton
Email address:      garton@gmail.com
PostgreSQL version: 10beta1
Operating system:   Linux xxxxxx 4.9.0-3-amd64 #1 SMP Debian 4.9.30-
Description:

The documentation states:

"The target table can have additional columns not provided by the published
table. Those will be filled with their default values."

However, when I added a column on the source database, the target began to
error:

ERROR:  logical replication target relation "public.foo" is missing some
replicated columns

This seems to contradict the documentation.



--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

On Tue, Jun 27, 2017 at 1:28 AM, <garton@gmail.com> wrote:
The following bug has been logged on the website:

Bug reference:      14719
Logged by:          Martin Garton
Email address:      garton@gmail.com
PostgreSQL version: 10beta1
Operating system:   Linux xxxxxx 4.9.0-3-amd64 #1 SMP Debian 4.9.30-
Description:

The documentation states:

"The target table can have additional columns not provided by the published
table. Those will be filled with their default values."

However, when I added a column on the source database, the target began to
error:

ERROR:  logical replication target relation "public.foo" is missing some
replicated columns

This seems to contradict the documentation.

​The target table can have extra columns - what you describe is a scenario where it has fewer (i.e., you added a column to the source table).

David J.​

garton@gmail.com writes:
> The documentation states:

> "The target table can have additional columns not provided by the published
> table. Those will be filled with their default values."

> However, when I added a column on the source database, the target began to
> error:

> ERROR:  logical replication target relation "public.foo" is missing some
> replicated columns

> This seems to contradict the documentation.

Um, by my reading, what that paragraph is describing is the opposite case.
It says you can add extra columns to the target table, not the source one.
        regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Thanks, you are right of course.  Sorry for the nouse.  (I'll now go back to trying to understand how to operate a logical replication cluster properly.)

On 27 June 2017 at 16:33, Tom Lane <tgl@sss.pgh.pa.us> wrote:
garton@gmail.com writes:
> The documentation states:

> "The target table can have additional columns not provided by the published
> table. Those will be filled with their default values."

> However, when I added a column on the source database, the target began to
> error:

> ERROR:  logical replication target relation "public.foo" is missing some
> replicated columns

> This seems to contradict the documentation.

Um, by my reading, what that paragraph is describing is the opposite case.
It says you can add extra columns to the target table, not the source one.

                        regards, tom lane



--
Martin Garton.