1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-30 21:42:05 +03:00

Implement COMMIT_SIBLINGS parameter to allow pre-commit delay to occur

only if at least N other backends currently have open transactions.  This
is not a great deal of intelligence about whether a delay might be
profitable ... but it beats no intelligence at all.  Note that the default
COMMIT_DELAY is still zero --- this new code does nothing unless that
setting is changed.
Also, mark ENABLEFSYNC as a system-wide setting.  It's no longer safe to
allow that to be set per-backend, since we may be relying on some other
backend's fsync to have synced the WAL log.
This commit is contained in:
Tom Lane
2001-02-26 00:50:08 +00:00
parent 60774e8210
commit 9c9936587c
10 changed files with 94 additions and 31 deletions

View File

@ -4,7 +4,7 @@
* Support for grand unified configuration scheme, including SET
* command, configuration file, and command line options.
*
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.30 2001/02/18 04:50:43 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.31 2001/02/26 00:50:07 tgl Exp $
*
* Copyright 2000 by PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>.
@ -41,6 +41,7 @@ extern int XLOGbuffers;
extern int XLOGfiles;
extern int XLOG_DEBUG;
extern int CommitDelay;
extern int CommitSiblings;
extern bool FixBTree;
@ -181,7 +182,7 @@ ConfigureNamesBool[] =
{"tcpip_socket", PGC_POSTMASTER, &NetServer, false},
{"ssl", PGC_POSTMASTER, &EnableSSL, false},
{"fsync", PGC_USERSET, &enableFsync, true},
{"fsync", PGC_SIGHUP, &enableFsync, true},
{"silent_mode", PGC_POSTMASTER, &SilentMode, false},
{"log_connections", PGC_SIGHUP, &Log_connections, false},
@ -279,7 +280,7 @@ ConfigureNamesInt[] =
0777, 0000, 0777},
{"checkpoint_timeout", PGC_POSTMASTER, &CheckPointTimeout,
300, 30, 1800},
300, 30, 3600},
{"wal_buffers", PGC_POSTMASTER, &XLOGbuffers,
8, 4, INT_MAX},
@ -293,6 +294,9 @@ ConfigureNamesInt[] =
{"commit_delay", PGC_USERSET, &CommitDelay,
0, 0, 100000},
{"commit_siblings", PGC_USERSET, &CommitSiblings,
5, 1, 1000},
{NULL, 0, NULL, 0, 0, 0}
};