diff options
author | Robert Haas <rhaas@postgresql.org> | 2010-05-27 02:01:37 +0000 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2010-05-27 02:01:37 +0000 |
commit | 5e85315ea7a4040b5faeddeebbbadb81fed234c9 (patch) | |
tree | 6772bde4d1aa0f40a7a68b50c85a40a3ca49f559 | |
parent | c5bd8feac65c5189cce070b841ad02bef70f419c (diff) | |
download | postgresql-5e85315ea7a4040b5faeddeebbbadb81fed234c9.tar.gz postgresql-5e85315ea7a4040b5faeddeebbbadb81fed234c9.zip |
Avoid starting walreceiver in states where it shouldn't be running.
In particular, it's bad to start walreceiver when in state
PM_WAIT_BACKENDS, because we have no provision to kill walreceiver
when in that state.
Fujii Masao
-rw-r--r-- | src/backend/postmaster/postmaster.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index d1011062b4d..5c7639ef7da 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -37,7 +37,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.609 2010/05/26 12:32:41 rhaas Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.610 2010/05/27 02:01:37 rhaas Exp $ * * NOTES * @@ -4217,7 +4217,9 @@ sigusr1_handler(SIGNAL_ARGS) } if (CheckPostmasterSignal(PMSIGNAL_START_WALRECEIVER) && - WalReceiverPID == 0) + WalReceiverPID == 0 && + (pmState == PM_STARTUP || pmState == PM_RECOVERY || + pmState == PM_HOT_STANDBY || pmState == PM_WAIT_READONLY)) { /* Startup Process wants us to start the walreceiver process. */ WalReceiverPID = StartWalReceiver(); |