Re: Logical Replication - detail message with names of missing columns - Mailing list pgsql-hackers

From Bharath Rupireddy
Subject Re: Logical Replication - detail message with names of missing columns
Date
Msg-id CALj2ACU6Oo4jcNGZ9C8MPj6OeUYfYg9yJEhK0ECEssxoXhSojw@mail.gmail.com
Whole thread Raw
In response to Re: Logical Replication - detail message with names of missing columns  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Logical Replication - detail message with names of missing columns  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Re: Logical Replication - detail message with names of missing columns  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
List pgsql-hackers
Thanks for the comments. Attaching the v3 patch.

On Tue, Sep 8, 2020 at 8:19 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
>
> This looks a bit fiddly.  Would it be less cumbersome to use
> quote_identifier here instead?
>

Changed. quote_identifier() adds quotes wherever necessary.

>
> Please do use errmsg_plural -- have the new function return the number
> of missing columns.  Should be pretty straightforward.
>

Changed. Now the error message looks as below:

CREATE TABLE test_tbl1(a1 int, b1 text, c1 int, d1 real, e1 int);
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated column:c1
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated columns:b1,c1
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated columns:b1,c1,e1

CREATE TABLE test_tbl1("!A1" int, "%b1" text, "@C1" int, d1 real, E1 int);
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated column:"@C1"
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated columns:"@C1",d1
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated columns:"!A1","@C1",d1
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated columns:"!A1","@C1",d1,e1
ERROR:  logical replication target relation "public.test_tbl1" is
missing replicated columns:"!A1","%b1","@C1",d1,e1

With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com

Attachment

pgsql-hackers by date:

Previous
From: Alexey Kondratov
Date:
Subject: Re: Global snapshots
Next
From: James Coleman
Date:
Subject: Re: Nicer error when connecting to standby with hot_standby=off