On Mon, Oct 17, 2011 at 6:53 AM, Fujii Masao <masao.fu...@gmail.com> wrote: > WARNING: canceling the wait for synchronous replication and > terminating connection due to administrator command > DETAIL: The transaction has already committed locally, but might not > have been replicated to the standby. > backend> FATAL: terminating connection due to administrator command > > The above is the server log messages that I got when I did the procedure. > "backend> " is a junk. If a backend is terminated while it's waiting for > synchronous replication, whereToSendOutput is set to DestNone. Then, > whereToSendOutput=DestNone makes ReadCommand() call > InteractiveBackend() which outputs "backend> ". > > This junk message might mess up the server log monitoring tools. I think > it should be removed. > > The simple fix is to change InteractiveBackend() so that it calls > CHECK_FOR_INTERRUPTS() before it outputs "backend> ". Thought?
I'm tempted to say we should do that in PostgresMain() instead, maybe something like this: diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 976a832..9e5557c 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -3769,6 +3769,8 @@ PostgresMain(int argc, char *argv[], const char *username) MemoryContextSwitchTo(MessageContext); MemoryContextResetAndDeleteChildren(MessageContext); + CHECK_FOR_INTERRUPTS(); + initStringInfo(&input_message); /* -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers