summaryrefslogtreecommitdiff
path: root/src/include/pg_config.h.in
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-05-02 01:08:27 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-05-02 01:08:27 +0000
commit3c6248a828af66db4c58247cd39e54583dff1d90 (patch)
treeaae40f171f8d515f820798757dfed1d43db7e3ee /src/include/pg_config.h.in
parent94b0b545f8124ee2d15a9753fb389d91e4951984 (diff)
downloadpostgresql-3c6248a828af66db4c58247cd39e54583dff1d90.tar.gz
Remove the recently added USE_SEGMENTED_FILES option, and indeed remove all
support for a nonsegmented mode from md.c. Per recent discussions, there doesn't seem to be much value in a "never segment" option as opposed to segmenting with a suitably large segment size. So instead provide a configure-time switch to set the desired segment size in units of gigabytes. While at it, expose a configure switch for BLCKSZ as well. Zdenek Kotala
Diffstat (limited to 'src/include/pg_config.h.in')
-rw-r--r--src/include/pg_config.h.in25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index caaf626d74..608e75cd7b 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -27,6 +27,15 @@
/* The normal alignment of `short', in bytes. */
#undef ALIGNOF_SHORT
+/* Size of a disk block --- this also limits the size of a tuple. You can set
+ it bigger if you need bigger tuples (although TOAST should reduce the need
+ to have large tuples, since fields can be spread across multiple tuples).
+ BLCKSZ must be a power of 2. The maximum possible value of BLCKSZ is
+ currently 2^15 (32768). This is determined by the 15-bit widths of the
+ lp_off and lp_len fields in ItemIdData (see include/storage/itemid.h).
+ Changing BLCKSZ requires an initdb. */
+#undef BLCKSZ
+
/* Define to the default TCP port number on which the server listens and to
which clients will try to connect. This can be overridden at run-time, but
it's convenient if your clients have the right default compiled in.
@@ -644,6 +653,19 @@
your system. */
#undef PTHREAD_CREATE_JOINABLE
+/* 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. RELSEG_SIZE * BLCKSZ must be
+ less than your OS' limit on file size. This is often 2 GB or 4GB in a
+ 32-bit operating system, unless you have large file support enabled. By
+ default, we make the limit 1 GB 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. A power-of-2 value is recommended to
+ save a few cycles in md.c, but is not absolutely required. Changing
+ RELSEG_SIZE requires an initdb. */
+#undef RELSEG_SIZE
+
/* The size of `off_t', as computed by sizeof. */
#undef SIZEOF_OFF_T
@@ -703,9 +725,6 @@
/* Use replacement snprintf() functions. */
#undef USE_REPL_SNPRINTF
-/* Define to split data files into 1GB segments. */
-#undef USE_SEGMENTED_FILES
-
/* Define to build with (Open)SSL support. (--with-openssl) */
#undef USE_SSL