mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Use a latch to make startup process wake up and replay immediately when
new WAL arrives via streaming replication. This reduces the latency, and also allows us to use a longer polling interval, which is good for energy efficiency. We still need to poll to check for the appearance of a trigger file, but the interval is now 5 seconds (instead of 100ms), like when waiting for a new WAL segment to appear in WAL archive.
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/replication/walreceiver.c,v 1.16 2010/07/06 19:18:57 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/replication/walreceiver.c,v 1.17 2010/09/15 10:35:05 heikki Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -529,6 +529,9 @@ XLogWalRcvFlush(void)
|
||||
walrcv->receivedUpto = LogstreamResult.Flush;
|
||||
SpinLockRelease(&walrcv->mutex);
|
||||
|
||||
/* Signal the startup process that new WAL has arrived */
|
||||
WakeupRecovery();
|
||||
|
||||
/* Report XLOG streaming progress in PS display */
|
||||
if (update_process_title)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user