summaryrefslogtreecommitdiff
path: root/src/include/config.h.in
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>1999-04-05 22:25:11 +0000
committerTom Lane <tgl@sss.pgh.pa.us>1999-04-05 22:25:11 +0000
commit5ce851dcda7c10513b18eb5ea1ed30976f21f174 (patch)
tree4444ac0d6f47429702a2385c0ff13be760820fda /src/include/config.h.in
parent9cae93d3099fead04567af93f0edeabbff4d8a0c (diff)
downloadpostgresql-5ce851dcda7c10513b18eb5ea1ed30976f21f174.tar.gz
Reduce default file size limit to 1Gb, and move the
configuration constant to config.h.
Diffstat (limited to 'src/include/config.h.in')
-rw-r--r--src/include/config.h.in17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/include/config.h.in b/src/include/config.h.in
index 74476b3ef9..49aac61ebb 100644
--- a/src/include/config.h.in
+++ b/src/include/config.h.in
@@ -27,6 +27,23 @@
*/
#define BLCKSZ 8192
+/*
+ * RELSEG_SIZE is the maximum number of blocks allowed in one disk file.
+ * Thus, the maximum size of a single file is RELSEG_SIZE * BLCKSZ;
+ * relations bigger than that are divided into multiple files.
+ *
+ * CAUTION: RELSEG_SIZE * BLCKSZ must be less than your OS' limit on file size.
+ * This is typically 2Gb or 4Gb in a 32-bit operating system. By default,
+ * we make the limit one billion bytes to avoid any possible integer-overflow
+ * problems within the OS. A limit smaller than necessary only means we
+ * divide a large relation into more chunks than necessary, so it seems best
+ * to err in the direction of a small limit.
+ *
+ * CAUTION: you had best do an initdb if you change either BLCKSZ or
+ * RELSEG_SIZE.
+ */
+#define RELSEG_SIZE (1000000000 / BLCKSZ)
+
/*
* The following is set using configure.
*/