Hi,

"pg_ctl stop" does't work propley, if --slot option is specified when WAL is 
flushed only it has switched.
These processes still continue even after the posmaster failed:pg_receivexlog, 
walsender and logger.

How to reproduce:
1.Start PostgreSQL
2.Create slot
3.Specify --slot option to pg_receivexlog and start it
4.Stop PostgreSQL

Example commands for reproduce:
1.pg_ctl start
2.psql -c "select pg_create_physical_replication_slot('test');"
3.pg_receivexlog --slot='test' -D ./testdir
4.pg_ctl stop

This happen cause --slot option set a flush location to feedback messages,
but it only flush when wal has switched, so walsender wait for the WAL have 
been replicated forever.

When --slot option is not specified, 'invalid' is set to flush location and it 
use write location to check replication so it can stop the process propley.

So I thought set 'invalid' to flush location as well in this case, this problem 
will be solved.
Does --slot option need to set flush location?
Thought?

Regards,

--
Furuya Osamu

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to