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;
DROP DATABASE
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;
datname
---------
(0 rows)
Also I don't think I can now drop mysuba
b=# drop subscription mysuba;
ERROR: subscription "mysuba" does not exist
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers