mirror of
https://github.com/postgres/postgres.git
synced 2025-11-04 20:11:56 +03:00
Bring some clarity to the defaults for the xxx_flush_after parameters.
Instead of confusingly stating platform-dependent defaults for these parameters in the comments in postgresql.conf.sample (with the main entry being a lie on Linux), teach initdb to install the correct platform-dependent value in postgresql.conf, similarly to the way we handle other platform-dependent defaults. This won't do anything for existing 9.6 installations, but since it's effectively only a documentation improvement, that seems OK. Since this requires initdb to have access to the default values, move the #define's for those to pg_config_manual.h; the original placement in bufmgr.h is unworkable because that file can't be included by frontend programs. Adjust the default value for wal_writer_flush_after so that it is 1MB regardless of XLOG_BLCKSZ, conforming to what is stated in both the SGML docs and postgresql.conf. (We could alternatively make it scale with XLOG_BLCKSZ, but I'm not sure I see the point.) Copy-edit related SGML documentation. Fabien Coelho and Tom Lane, per a gripe from Tomas Vondra. Discussion: <30ebc6e3-8358-09cf-44a8-578252938424@2ndquadrant.com>
This commit is contained in:
@@ -147,6 +147,24 @@
|
||||
#define USE_PREFETCH
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Default and maximum values for backend_flush_after, bgwriter_flush_after
|
||||
* and checkpoint_flush_after; measured in blocks. Currently, these are
|
||||
* enabled by default if sync_file_range() exists, ie, only on Linux. Perhaps
|
||||
* we could also enable by default if we have mmap and msync(MS_ASYNC)?
|
||||
*/
|
||||
#ifdef HAVE_SYNC_FILE_RANGE
|
||||
#define DEFAULT_BACKEND_FLUSH_AFTER 0 /* never enabled by default */
|
||||
#define DEFAULT_BGWRITER_FLUSH_AFTER 64
|
||||
#define DEFAULT_CHECKPOINT_FLUSH_AFTER 32
|
||||
#else
|
||||
#define DEFAULT_BACKEND_FLUSH_AFTER 0
|
||||
#define DEFAULT_BGWRITER_FLUSH_AFTER 0
|
||||
#define DEFAULT_CHECKPOINT_FLUSH_AFTER 0
|
||||
#endif
|
||||
/* upper limit for all three variables */
|
||||
#define WRITEBACK_MAX_PENDING_FLUSHES 256
|
||||
|
||||
/*
|
||||
* USE_SSL code should be compiled only when compiling with an SSL
|
||||
* implementation. (Currently, only OpenSSL is supported, but we might add
|
||||
|
||||
Reference in New Issue
Block a user