diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index cee09c7681572e29ae1a657537012de14ccb7c9e..46ffbff10871d80340c0b365bea47a3962919f66 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1939,8 +1939,11 @@ SET ENABLE_SEQSCAN TO OFF; Specifies the delay between activity rounds for WAL sender processes. In each round the WAL sender sends any WAL accumulated since the last round to the standby server. It then sleeps for - <varname>wal_sender_delay</> milliseconds, and repeats. The default - value is 200 milliseconds (<literal>200ms</>). + <varname>wal_sender_delay</> milliseconds, and repeats. The sleep + is interrupted by transaction commit, so the effects of a committed + transaction are sent to standby servers as soon as the commit + happens, regardless of this setting. The default value is one second + (<literal>1s</>). Note that on many systems, the effective resolution of sleep delays is 10 milliseconds; setting <varname>wal_sender_delay</> to a value that is not a multiple of 10 might have the same results as setting it to diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index eb99246e6d251ec4dd315ce4621d189f820d7310..49b49d2a1819549e81bdd4a31474713ec156b1e3 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -73,7 +73,7 @@ bool am_walsender = false; /* Am I a walsender process ? */ /* User-settable parameters for walsender */ int max_wal_senders = 0; /* the maximum number of concurrent walsenders */ -int WalSndDelay = 200; /* max sleep time between some actions */ +int WalSndDelay = 1000; /* max sleep time between some actions */ /* * These variables are used similarly to openLogFile/Id/Seg/Off, diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 55cbf757b4991233cc701f06c0dbd499ceee2cae..529148a04050cef6c13d1ea9290946350b996777 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1843,7 +1843,7 @@ static struct config_int ConfigureNamesInt[] = GUC_UNIT_MS }, &WalSndDelay, - 200, 1, 10000, NULL, NULL + 1000, 1, 10000, NULL, NULL }, { diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index 6726733235bc48cb3fd285754572a46dcea1d470..6bfd0fd87c9857644a13881ac46258e86253d86b 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -188,7 +188,7 @@ #max_wal_senders = 0 # max number of walsender processes # (change requires restart) -#wal_sender_delay = 200ms # walsender cycle time, 1-10000 milliseconds +#wal_sender_delay = 1s # walsender cycle time, 1-10000 milliseconds #wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables #vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed