Skip site navigation (1) Skip section navigation (2)

Re: Logical Replication WIP

From: Steve Singer <steve(at)ssinger(dot)info>
To: Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Erik Rijkers <er(at)xs4all(dot)nl>, Craig Ringer <craig(at)2ndquadrant(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, pgsql-hackers-owner(at)postgresql(dot)org
Subject: Re: Logical Replication WIP
Date: 2016-12-17 17:34:32
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
On 12/16/2016 07:49 AM, Petr Jelinek wrote:
> Hi,
> attached is version 13 of the patch.
> I merged in changes from PeterE. And did following changes:
> - fixed the ownership error messages for both provider and subscriber
> - added ability to send invalidation message to invalidate whole
> relcache and use it in publication code
> - added the post creation/alter/drop hooks
> - removed parts of docs that refer to initial sync (which does not exist
> yet)
> - added timeout handling/retry, etc to apply/launcher based on the GUCs
> that exist for wal receiver (they could use renaming though)
> - improved feedback behavior
> - apply worker now uses owner of the subscription as connection user
> - more tests
> - check for max_replication_slots in launcher
> - clarify the update 'K' sub-message description in protocol

A few things I've noticed so far

If I shutdown the publisher I see the following in the log

2016-12-17 11:33:49.548 EST [1891] LOG:  worker process: ?)G? (PID 1987) 
exited with exit code 1

but then if I shutdown the subscriber postmaster and restart it switches to
2016-12-17 11:43:09.628 EST [2373] LOG:  worker process: ???? (PID 2393) 
exited with exit code 1

Not sure where the 'G' was coming from (other times I have seen an 'I' 
here or other random characters)

I don't think we are cleaning up subscriptions on a drop database

If I do the following

1) Create a subscription in a new database
2) Stop the publisher
3) Drop the database on the subscriber

test=# create subscription mysuba connection 'host=localhost dbname=test 
port=5440' publication mypub;
test=# \c b
b=# drop database test;
b=# select * FROM pg_subscription ;
  subdbid | subname | subowner | subenabled | subconninfo              | 
subslotname | subpublications
    16384 | mysuba  |       10 | t          | host=localhost dbname=test 
port=5440 | mysuba      | {mypub}

b=# select datname FROM pg_database where oid=16384;
(0 rows)

Also I don't think I can now drop mysuba
b=# drop subscription mysuba;
ERROR:  subscription "mysuba" does not exist


In response to


pgsql-hackers by date

Next:From: Tom LaneDate: 2016-12-17 18:36:48
Subject: Rethinking our fulltext phrase-search implementation
Previous:From: Dmitry DolgovDate: 2016-12-17 16:27:42
Subject: Re: jsonb_delete with arrays

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group