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.
Showing
- doc/src/sgml/wal.sgml 8 additions, 5 deletionsdoc/src/sgml/wal.sgml
- src/backend/access/transam/xact.c 14 additions, 8 deletionssrc/backend/access/transam/xact.c
- src/backend/access/transam/xlog.c 1 addition, 3 deletionssrc/backend/access/transam/xlog.c
- src/backend/storage/ipc/sinval.c 47 additions, 6 deletionssrc/backend/storage/ipc/sinval.c
- src/backend/utils/misc/guc.c 7 additions, 3 deletionssrc/backend/utils/misc/guc.c
- src/backend/utils/misc/postgresql.conf.sample 2 additions, 1 deletionsrc/backend/utils/misc/postgresql.conf.sample
- src/bin/psql/tab-complete.c 2 additions, 1 deletionsrc/bin/psql/tab-complete.c
- src/include/access/xlog.h 6 additions, 1 deletionsrc/include/access/xlog.h
- src/include/storage/proc.h 5 additions, 1 deletionsrc/include/storage/proc.h
- src/include/storage/sinval.h 2 additions, 2 deletionssrc/include/storage/sinval.h
Loading
Please register or sign in to comment