Re: Logical replication from PG v13 and below to PG v14 (devel version) is not working.
От | Ashutosh Sharma |
---|---|
Тема | Re: Logical replication from PG v13 and below to PG v14 (devel version) is not working. |
Дата | |
Msg-id | CAE9k0P=Te_5Yfz3VvwUHhqeZ8BUcVbxz1VYL2rkJf5NMBm5h+w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Logical replication from PG v13 and below to PG v14 (devel version) is not working. (Amit Kapila <amit.kapila16@gmail.com>) |
Список | pgsql-hackers |
On Fri, Sep 25, 2020 at 8:12 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Thu, Sep 24, 2020 at 6:33 PM Ashutosh Sharma <ashu.coek88@gmail.com> wrote: > > > > Hi Amit, > > > > > Here, I think instead of using MySubscription->stream, we should use > > > server/walrecv version number as we used at one place in tablesync.c. > > > > Should subscribers be setting the LR protocol value based on what is > > the publisher version it is communicating with or should it be set > > based on whether streaming was enabled or not while creating that > > subscription? AFAIU if we set this value based on the publisher > > version (which is lets say >= 14), then it's quite possible that the > > subscriber will start streaming changes for the in-progress > > transactions even if the streaming was disabled while creating the > > subscription, won't it? > > > > No that won't happen because we send this option to the server > (publisher in this case) only when version is >=14 and user has > specified this option. See the below check in function > libpqrcv_startstreaming() > { > .. > if (options->proto.logical.streaming && > PQserverVersion(conn->streamConn) >= 140000) > appendStringInfo(&cmd, ", streaming 'on'"); > .. > } > Ah, okay, understood, thanks. So, that means we can use the streaming protocol version if the server (publisher) supports it, regardless of whether the client (subscriber) has the streaming option enabled or not. -- With Regards, Ashutosh Sharma EnterpriseDB:http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: