From: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | noriyoshi(dot)shinoda(at)hpe(dot)com |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Logical Replication and Character encoding |
Date: | 2017-02-01 03:13:04 |
Message-ID: | 20170201.121304.267734380.horiguchi.kyotaro@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
At Wed, 01 Feb 2017 12:05:40 +0900 (Tokyo Standard Time), Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote in <20170201(dot)120540(dot)183393194(dot)horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
> Hello,
>
> At Tue, 31 Jan 2017 12:46:18 +0000, "Shinoda, Noriyoshi" <noriyoshi(dot)shinoda(at)hpe(dot)com> wrote in <AT5PR84MB0084FAE5976D89CDE9733093EE4A0(at)AT5PR84MB0084(dot)NAMPRD84(dot)PROD(dot)OUTLOOK(dot)COM>
> > I tried a committed Logical Replication environment. I found
> > that replication between databases of different encodings did
> > not convert encodings in character type columns. Is this
> > behavior correct?
>
> The output plugin for subscription is pgoutput and it currently
> doesn't consider encoding but would easiliy be added if desired
> encoding is informed.
>
> The easiest (but somewhat seems fragile) way I can guess is,
>
> - Subscriber connects with client_encoding specification and the
> output plugin pgoutput decide whether it accepts the encoding
> or not. If the subscriber doesn't, pgoutput send data without
> conversion.
>
> The attached small patch does this and works with the following
> CREATE SUBSCRIPTION.
Oops. It forgets to care conversion failure. It is amended in the
attached patch.
> CREATE SUBSCRIPTION sub1 CONNECTION 'host=/tmp port=5432 dbname=postgres client_encoding=EUC_JP' PUBLICATION pub1;
>
>
> Also we may have explicit negotiation on, for example,
> CREATE_REPLICATION_SLOT.
>
> 'CREATE_REPLICATION_SLOT sub1 LOGICAL pgoutput ENCODING EUC_JP'
>
> Or output plugin may take options.
>
> 'CREATE_REPLICATION_SLOT sub1 LOGICAL pgoutput OPTIONS(encoding EUC_JP)'
>
>
> Any opinions?
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachment | Content-Type | Size |
---|---|---|
logrep_consider_client_encoding_v2.patch | text/x-patch | 1.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2017-02-01 04:06:43 | Re: Transactions involving multiple postgres foreign servers |
Previous Message | Kyotaro HORIGUCHI | 2017-02-01 03:05:40 | Re: Logical Replication and Character encoding |