+ xreflabel="superuser_reserved_connections">
superuser_reserved_connections
(integer)
Determines the number of connection slots
that
are reserved for connections by
PostgreSQL>
- superusers. At most max_connections> connections can
- ever be active simultaneously. Whenever the number of active
- concurrent connections is at least max_connections> minus
- superuser_reserved_connections, new connections
- will be accepted only for superusers.
+ superusers. At most
+ connections can ever be active simultaneously. Whenever the
+ number of active concurrent connections is at least
+ max_connections> minus
+ superuser_reserved_connections, new
+ connections will be accepted only for superusers.
-
+ id="guc-port" xreflabel="port">
port (integer)
-
+ id="guc-unix-socket-directory" xreflabel="unix_socket_directory">
unix_socket_directory (string)
-
+ id="guc-unix-socket-group" xreflabel="unix_socket_group">
unix_socket_group (string)
-
+ id="guc-unix-socket-permissions" xreflabel="unix_socket_permissions">
unix_socket_permissions (integer)
-
+ id="guc-virtual-host" xreflabel="virtual_host">
virtual_host (string)
-
+ id="guc-rendezvous-name" xreflabel="rendezvous_name">
rendezvous_name (string)
Security and Authentication
-
+ id="guc-authentication-timeout" xreflabel="authentication_timeout">
authentication_timeout (integer)
timeout>client authentication>
client authentication>timeout during>
-
+ id="guc-ssl" xreflabel="ssl">
-
ssl (boolean)
-
+ id="guc-password-encryption" xreflabel="password_encryption">
password_encryption (boolean)
-
+ id="guc-krb-server-keyfile" xreflabel="krb_server_keyfile">
krb_server_keyfile (string)
-
+ id="guc-db-user-namespace" xreflabel="db_user_namespace">
db_user_namespace (boolean)
Memory
-
+ id="guc-shared-buffers" xreflabel="shared_buffers">
shared_buffers (integer)
initdb>). Each buffer is 8192 bytes, unless a
different value of BLCKSZ was chosen when building
the server. This setting must be at least 16, as well as at
- least twice the value of <varname>max_connections>;
+ least twice the value of <xref linkend="guc-max-connections">;
however, settings significantly higher than the minimum are
usually needed for good performance. Values of a few thousand
are recommended for production installations. This option can
-
+ id="guc-work-mem" xreflabel="work_mem">
work_mem (integer)
-
+ id="guc-maintenance-work-mem" xreflabel="maintenance_work_mem">
maintenance_work_mem (integer)
Free Space Map
-
+ id="guc-max-fsm-pages" xreflabel="max_fsm_pages">
max_fsm_pages (integer)
-
+ id="guc-max-fsm-relations" xreflabel="max_fsm_relations">
max_fsm_relations (integer)
Kernel Resource Usage
-
+ id="guc-max-files-per-process" xreflabel="max_files_per_process">
max_files_per_process (integer)
-
+ id="guc-preload-libraries" xreflabel="preload_libraries">
preload_libraries (string)
-
+ id="guc-vacuum-cost-page-hit" xreflabel="vacuum_cost_page_hit">
vacuum_cost_page_hit (integer)
-
+ id="guc-vacuum-cost-page-miss" xreflabel="vacuum_cost_page_miss">
vacuum_cost_page_miss (integer)
-
+ id="guc-vacuum-cost-page-dirty" xreflabel="vacuum_cost_page_dirty">
vacuum_cost_page_dirty (integer)
-
+ id="guc-vacuum-cost-limit" xreflabel="vacuum_cost_limit">
vacuum_cost_limit (integer)
-
+ id="guc-vacuum-cost-naptime" xreflabel="vacuum_cost_naptime">
vacuum_cost_naptime (integer)
Settings
-
+ id="guc-fsync" xreflabel="fsync">
-
+ id="guc-wal-sync-method" xreflabel="wal_sync_method">
wal_sync_method (string)
-
+ id="guc-wal-buffers" xreflabel="wal_buffers">
wal_buffers (integer)
Checkpoints
-
+ id="guc-checkpoint-segments" xreflabel="checkpoint_segments">
checkpoint_segments (integer)
-
+ id="guc-checkpoint-timeout" xreflabel="checkpoint_timeout">
checkpoint_timeout (integer)
-
+ id="guc-checkpoint-warning" xreflabel="checkpoint_warning">
checkpoint_warning (integer)
-
+ id="guc-commit-delay" xreflabel="commit_delay">
commit_delay (integer)
-
+ id="guc-commit-siblings" xreflabel="commit_siblings">
commit_siblings (integer)
-
+ id="guc-enable-hashagg" xreflabel="enable_hashagg">
enable_hashagg (boolean)
-
+ id="guc-enable-hashjoin" xreflabel="enable_hashjoin">
enable_hashjoin (boolean)
-
+ id="guc-enable-indexscan" xreflabel="enable_indexscan">
-
+ id="guc-enable-mergejoin" xreflabel="enable_mergejoin">
enable_mergejoin (boolean)
-
+ id="guc-enable-nestloop" xreflabel="enable_nestloop">
enable_nestloop (boolean)
-
+ id="guc-enable-seqscan" xreflabel="enable_seqscan">
-
+ id="guc-enable-sort" xreflabel="enable_sort">
enable_sort (boolean)
-
+ id="guc-enable-tidscan" xreflabel="enable_tidscan">
enable_tidscan (boolean)
-
+ id="guc-effective-cache-size" xreflabel="effective_cache_size">
effective_cache_size (floating point)
-
+ id="guc-random-page-cost" xreflabel="random_page_cost">
random_page_cost (floating point)
-
+ id="guc-cpu-tuple-cost" xreflabel="cpu_tuple_cost">
cpu_tuple_cost (floating point)
-
+ id="guc-cpu-index-tuple-cost" xreflabel="cpu_index_tuple_cost">
cpu_index_tuple_cost (floating point)
-
+ id="guc-cpu-operator-cost" xreflabel="cpu_operator_cost">
cpu_operator_cost (floating point)
-
+ id="guc-geqo" xreflabel="geqo">
genetic query optimization
Enables or disables genetic query optimization, which is an
- algorithm that attempts to do query planning without exhaustive
- searching. This is on by default. See also the various other
- geqo_ settings.
+ algorithm that attempts to do query planning without
+ exhaustive searching. This is on by default. The
+ geqo_threshold variable provides a more
+ granular way to disable GEQO for certain classes of queries.
-
+ id="guc-geqo-threshold" xreflabel="geqo_threshold">
geqo_threshold (integer)
-
- geqo_effort (integer)
+
+ geqo_effort
+ (integer)
+
+ Controls the tradeoff between planning time and query plan
+ efficiency in GEQO. Valid values for this variable range
+ from 1 to 10; the default is 5. Larger values increasee the
+ time spent doing query planning, but increase the likelyhood
+ that an efficient query plan will be chosen.
+
+
+ geqo_effort doesn't actually do anything
+ directly; it is only used to compute the default values for
+ the other variables that influence GEQO behavior (described
+ below). If you prefer, you can set the other parameters by
+ hand instead.
+
+
+
+
+
geqo_pool_size (integer)
+
+ Controls the pool size used by GEQO. The pool size is the
+ number of individuals in the genetic population. It must be
+ at least two, and useful values are typically 100 to 1000. If
+ it is set to zero (the default setting) then a suitable
+ default is chosen based on geqo_effort and
+ the number of tables in the query.
+
+
+
+
+
geqo_generations (integer)
+
+ Controls the number of generations used by GEQO. Generations
+ specifies the number of iterations of the algorithm. It must
+ be at least one, and useful values are in the same range as
+ the pool size. If it is set to zero (the default setting)
+ then a suitable default is chosen based on
+ geqo_pool_size.
+
+
+
+
+
geqo_selection_bias (floating point)
- Various tuning parameters for the genetic query optimization
- algorithm. The recommended one to modify is
- geqo_effort, which can range from 1 to 10 with
- a default of 5. Larger values increase the time spent in planning
- but make it more likely that a good plan will be found.
- geqo_effort doesn't actually do anything directly,
- it is just used to compute the default values for the other
- parameters. If you prefer, you can set the other parameters by hand
- instead.
- The pool size is the number of individuals in the genetic population.
- It must be at least two, and useful values are typically 100 to 1000.
- If it is set to zero (the default setting) then a suitable default
- is chosen based on geqo_effort and the number of
- tables in the query.
- Generations specifies the number of iterations of the algorithm.
- It must be at least one, and useful values are in the same range
- as the pool size.
- If it is set to zero (the default setting) then a suitable default
- is chosen based on the pool size.
- The run time of the algorithm is roughly proportional to the sum of
- pool size and generations.
- The selection bias is the selective pressure within the
- population. Values can be from 1.50 to 2.00; the latter is the
- default.
+ Controls the selection bias used by GEQO. The selection bias
+ is the selective pressure within the population. Values can be
+ from 1.50 to 2.00; the latter is the default.
-
+ id="guc-default-statistics-target" xreflabel="default_statistics_target">
default_statistics_target (integer)
-
+ id="guc-from-collapse-limit" xreflabel="from_collapse_limit">
from_collapse_limit (integer)
resulting FROM list would have no more than
this many items. Smaller values reduce planning time but may
yield inferior query plans. The default is 8. It is usually
- wise to keep this less than <varname>geqo_threshold>.
+ wise to keep this less than <xref linkend="guc-geqo-threshold">.
-
+ id="guc-join-collapse-limit" xreflabel="join_collapse_limit">
join_collapse_limit (integer)
-
+ id="guc-syslog" xreflabel="syslog">
syslog (integer)
-
+ id="guc-syslog-facility" xreflabel="syslog_facility">
syslog_facility (string)
-
+ id="guc-syslog-ident" xreflabel="syslog_ident">
syslog_ident (string)
-
+ id="guc-client-min-messages" xreflabel="client_min_messages">
client_min_messages (string)
-
+ id="guc-log-min-messages" xreflabel="log_min_messages">
log_min_messages (string)
-
+ id="guc-log-error-verbosity" xreflabel="log_error_verbosity">
log_error_verbosity (string)
-
+ id="guc-log-min-error-statement" xreflabel="log_min_error_statement">
log_min_error_statement (string)
-
+ id="guc-log-min-duration-statement" xreflabel="log_min_duration_statement">
log_min_duration_statement (integer)
-
+ id="guc-silent-mode" xreflabel="silent_mode">
silent_mode (boolean)
Runs the server silently. If this option is set, the server
- will automatically run in background and any controlling terminals
- are disassociated. Thus, no messages are written to standard
- output or standard error (same effect as postmaster>'s
- option). Unless
-
syslog> logging is enabled, using this option is
- discouraged since it makes it impossible to see error messages.
+ will automatically run in background and any controlling
+ terminals are disassociated. Thus, no messages are written to
+ standard output or standard error (same effect as
+ postmaster>'s option). Unless
+
syslog> logging is enabled, using this option
+ is discouraged because it makes it impossible to see error
+ messages.
What To Log
-
+
-
+
debug_print_parse (boolean)
debug_print_rewritten (boolean)
-
+ id="guc-log-connections" xreflabel="log_connections">
log_connections (boolean)
-
-
+
log_disconnections (boolean)
-
+ id="guc-log-duration" xreflabel="log_duration">
log_duration (boolean)
Causes the duration of every completed statement to be logged.
- To use this option, enable log_statement> and
- log_pid> so you can link the statement to the
- duration using the process ID. The default is off.
- Only superusers can turn off this option if it is enabled by
- the administrator.
+ To use this option, it is recommended that you also enable
+ log_statement> and log_pid> so that you
+ can link the statement to the duration using the process
+ ID. The default is off. Only superusers can turn off this
+ option if it is enabled by the administrator.
-
+ id="guc-log-line-prefix" xreflabel="log_line_prefix">
log_line_prefix (string)
-
+ id="guc-log-statement" xreflabel="log_statement">
log_statement (boolean)
-
+ id="guc-log-timestamp" xreflabel="log_timestamp">
log_timestamp (boolean)
-
+ id="guc-log-hostname" xreflabel="log_hostname">
log_hostname (boolean)
-
+ id="guc-log-source-port" xreflabel="log_source_port">
log_source_port (boolean)
Query and Index Statistics Collector
-
+ id="guc-stats-start-collector" xreflabel="stats_start_collector">
stats_start_collector (boolean)
-
+ id="guc-stats-command-string" xreflabel="stats_command_string">
stats_command_string (boolean)
-
+ id="guc-stats-reset-on-server-start" xreflabel="stats_reset_on_server_start">
stats_reset_on_server_start (boolean)
Statement Behavior
-
+ id="guc-search-path" xreflabel="search_path">
search_path (string)
-
+ id="guc-check-function-bodies" xreflabel="check_function_bodies">
check_function_bodies (boolean)
-
+ id="guc-default-transaction-isolation" xreflabel="default_transaction_isolation">
transaction isolation level
-
+ id="guc-default-transaction-read-only" xreflabel="default_transaction_read_only">
-
+ id="guc-statement-timeout" xreflabel="statement_timeout">
statement_timeout (integer)
-
+ id="guc-datestyle" xreflabel="datestyle">
datestyle (string)
-
+ id="guc-timezone" xreflabel="timezone">
timezone (string)
-
+ id="guc-australian-timezones" xreflabel="australian_timezones">
australian_timezones (boolean)
-
+ id="guc-extra-float-digits" xreflabel="extra_float_digits">
-
+ id="guc-client-encoding" xreflabel="client_encoding">
client_encoding (string)
-
+ id="guc-lc-messages" xreflabel="lc_messages">
lc_messages (string)
-
+ id="guc-lc-monetary" xreflabel="lc_monetary">
lc_monetary (string)
-
+ id="guc-lc-numeric" xreflabel="lc_numeric">
lc_numeric (string)
-
+ id="guc-lc-time" xreflabel="lc_time">
lc_time (string)
-
+ id="guc-explain-pretty-print" xreflabel="explain_pretty_print">
explain_pretty_print (boolean)
-
+ id="guc-dynamic-library-path" xreflabel="dynamic_library_path">
dynamic_library_path (string)
-
+ id="guc-max-expr-depth" xreflabel="max_expr_depth">
max_expr_depth (integer)
-
+ id="guc-deadlock-timeout" xreflabel="deadlock_timeout">
timeout during
-
+ id="guc-max-locks-per-transaction" xreflabel="max_locks_per_transaction">
max_locks_per_transaction (integer)
Previous PostgreSQL Versions
-
+ id="guc-add-missing-from" xreflabel="add_missing_from">
add_missing_from (boolean)
-
+ id="guc-regex-flavor" xreflabel="regex_flavor">
regex_flavor (string)
-
+ id="guc-sql-inheritance" xreflabel="sql_inheritance">
sql_inheritance (boolean)
-
+ id="guc-default-with-oids" xreflabel="default_with_oids">
default_with_oids (boolean)
Platform and Client Compatibility
-
+ id="guc-transform-null-equals" xreflabel="transform_null_equals">
transform_null_equals (boolean)
The following options are available read-only, and are determined
- at source code compile time. As such, they have been excluded from the
- sample postgresql.conf> file. They determine various aspects
- of
PostgreSQL behavior that may be of interest
- to certain applications, particularly administrative front-ends.
+ when
PostgreSQL is compiled. As such,
+ they have been excluded from the sample
+ postgresql.conf> file. These options determine
+ various aspects of
PostgreSQL behavior
+ that may be of interest to certain applications, particularly
+ administrative front-ends.
-
+ id="guc-block-size" xreflabel="block_size">
block_size (integer)
Shows the size of a disk block. It is determined by the value
of BLCKSZ> when building the server. The default
- value is 8192 bytes. The shared_buffers setting is
- influenced by block_size. See
- for information.
+ value is 8192 bytes. The meaning of some configuration
+ variables (such as ) is
+ influenced by
block_size. See
+ linkend="runtime-config-resource"> for information.
-
+ id="guc-integer-datetimes" xreflabel="integer_datetimes">
integer_datetimes (boolean)
- was built with support for 64-bit integer dates and times. It is
- set by configuring with --enable-integer-datetimes.
- The default value is off.
+ Shows whether
PostgreSQL was built
+ with support for 64-bit integer dates and times. It is set by
+ configuring with --enable-integer-datetimes
+ when building
PostgreSQL. The
+ default value is off.
-
+ id="guc-max-function-args" xreflabel="max_function_args">
max_function_args (integer)
-
+ id="guc-max-identifier-length" xreflabel="max_identifier_length">
max_identifier_length (integer)
-
+ id="guc-max-index-keys" xreflabel="max_index_keys">
max_index_keys (integer)
-
+ id="guc-debug-assertions" xreflabel="debug_assertions">
debug_assertions (boolean)
-
+ id="guc-pre-auth-delay" xreflabel="pre_auth_delay">
pre_auth_delay (integer)
-
+ id="guc-trace-notify" xreflabel="trace_notify">
trace_notify (boolean)
Generates a great amount of debugging output for the
LISTEN and NOTIFY
- commands. <varname>client_min_messages> or
- <varname>log_min_messages> must be
+ commands. <xref linkend="guc-client-min-messages"> or
+ <xref linkend="guc-log-min-messages"> must be
DEBUG1 or lower to send this output to the
client or server log, respectively.
-
+ id="guc-wal-debug" xreflabel="wal_debug">
wal_debug (boolean)
-
+ id="guc-zero-damaged-pages" xreflabel="zero-damaged-pages">
zero_damaged_pages (boolean)
- enable_indexscan=off>,
- enable_hashjoin=off>,
- enable_mergejoin=off>,
- enable_nestloop=off>,
- enable_seqscan=off>,
- enable_tidscan=off>
+ enable_indexscan = off>,
+ enable_hashjoin = off>,
+ enable_mergejoin = off>,
+ enable_nestloop = off>,
+ enable_seqscan = off>,
+ enable_tidscan = off>
|
, ,
- log_parser_stats=on>,
- log_planner_stats=on>,
- log_executor_stats=on>
+ log_parser_stats = on>,
+ log_planner_stats = on>,
+ log_executor_stats = on>
|
SHMMAX>>
Maximum size of shared memory segment (bytes)>
- 250 kB + 8.2 kB * shared_buffers> + 14.2 kB * max_connections> up to infinity
+ 250 kB + 8.2 kB * +
+ 14.2 kB * up to infinity
|
On the other side of the coin, some systems allow individual
processes to open large numbers of files; if more than a few
processes do so then the system-wide limit can easily be exceeded.
- If you find this happening, and you do not want to alter the system-wide
- limit, you can set
PostgreSQL's
- max_files_per_process> configuration parameter to
+ If you find this happening, and you do not want to alter the
+ system-wide limit, you can set
PostgreSQL>'s
+ linkend="guc-max-files-per-process"> configuration parameter to
limit the consumption of open files.
With
SSL> support compiled in, the
PostgreSQL> server can be started with
SSL> enabled by setting the parameter
- <varname>ssl> to on in postgresql.conf>. When
+ <xref linkend="guc-ssl"> to on in postgresql.conf>. When
starting in
SSL> mode, the server will look for the
files server.key> and server.crt> in the
data directory, which should contain the server private key
-
+
Write-Ahead Logging (WAL)
- The server spawns a special process every so often
- to create the next checkpoint. A checkpoint is created every
- checkpoint_segments log segments, or every
- checkpoint_timeout> seconds, whichever comes first.
+ The server spawns a special process every so often to create the
+ next checkpoint. A checkpoint is created every
+ linkend="guc-checkpoint-segments"> log segments, or every
+ linkend="guc-checkpoint-timeout"> seconds, whichever comes first.
The default settings are 3 segments and 300 seconds respectively.
It is also possible to force a checkpoint by using the SQL command
CHECKPOINT.
space for the new record, LogInsert will have
to write (move to kernel cache) a few filled
WAL
buffers. This is undesirable because LogInsert
- is used on every database low level modification (for example,
- row insertion) at a time when an exclusive lock is held on
- affected data pages, so the operation needs to be as fast as
- possible. What is worse, writing
WAL buffers may
- also force the creation of a new log segment, which takes even more
+ is used on every database low level modification (for example, row
+ insertion) at a time when an exclusive lock is held on affected
+ data pages, so the operation needs to be as fast as possible. What
+ is worse, writing
WAL buffers may also force the
+ creation of a new log segment, which takes even more
time. Normally,
WAL buffers should be written
and flushed by a LogFlush request, which is
made, for the most part, at transaction commit time to ensure that
not occur often enough to prevent
WAL buffers
being written by LogInsert. On such systems
one should increase the number of
WAL buffers by
- modifying the configuration parameter <varname>wal_buffers.
- WAL buffers is 8. Increasing this value will
+ modifying the configuration parameter <xref
+
linkend="guc-wal-buffers">. The default number of
+ WAL buffers is 8. Increasing this value will
correspondingly increase shared memory usage.
buffers to disk using the operating system sync()> call.
Busy servers may fill checkpoint segment files too quickly,
causing excessive checkpointing. If such forced checkpoints happen
- more frequently than <varname>checkpoint_warning> seconds,
+ more frequently than <xref linkend="guc-checkpoint-warning"> seconds,
a message, will be output to the server logs recommending increasing
checkpoint_segments.
- The <varname>commit_delay> parameter defines for how many
+ The <xref linkend="guc-commit-delay"> parameter defines for how many
microseconds the server process will sleep after writing a commit
record to the log with LogInsert but before
performing a LogFlush. This delay allows other
server processes to add their commit records to the log so as to have all
of them flushed with a single log sync. No sleep will occur if
- <varname>fsync>
- is not enabled, nor if fewer than <varname>commit_siblings>
+ <xref linkend="guc-fsync">
+ is not enabled, nor if fewer than <xref linkend="guc-commit-siblings">
other sessions are currently in active transactions; this avoids
sleeping when it's unlikely that any other session will commit soon.
Note that on most platforms, the resolution of a sleep request is
- The <varname>wal_sync_method> parameter determines how
+ The <xref linkend="guc-wal-sync-method"> parameter determines how
PostgreSQL will ask the kernel to force
All the options should be the same as far as reliability goes,
- Enabling the wal_debug configuration parameter
- will result in each LogInsert and
-
LogFlush WAL call being
- logged to the server log. This option may be replaced by a more
- general mechanism in the future.
+ Enabling the configuration parameter
+ (provided that
PostgreSQL has been
+ compiled with support for it) will result in each
+ LogInsert and LogFlush
+
WAL call being logged to the server log. This
+ option may be replaced by a more general mechanism in the future.
If the name does not contain a directory part, the file is
searched for in the path specified by the configuration variable
- <
varname>dynamic_library_path>.dynamic_library_path>>
+ <
xref linkend="guc-dynamic-library-path">.
dynamic_library_path>>