2000-06-04 03:44:38 +02:00
|
|
|
#
|
|
|
|
# PostgreSQL configuration file
|
|
|
|
# -----------------------------
|
|
|
|
#
|
2002-03-09 06:11:38 +01:00
|
|
|
# This file consists of lines of the form:
|
2000-06-04 03:44:38 +02:00
|
|
|
#
|
|
|
|
# name = value
|
|
|
|
#
|
2002-03-09 06:11:38 +01:00
|
|
|
# (The '=' is optional.) White space may be used. Comments are introduced
|
|
|
|
# with '#' anywhere on a line. The complete list of option names and
|
|
|
|
# allowed values can be found in the PostgreSQL documentation. The
|
|
|
|
# commented-out settings shown in this file represent the default values.
|
|
|
|
#
|
2000-06-04 03:44:38 +02:00
|
|
|
# Any option can also be given as a command line switch to the
|
2002-03-09 06:11:38 +01:00
|
|
|
# postmaster, e.g. 'postmaster -c log_connections=on'. Some options
|
2001-09-07 02:46:42 +02:00
|
|
|
# can be changed at run-time with the 'SET' SQL command.
|
2002-03-09 06:11:38 +01:00
|
|
|
#
|
|
|
|
# This file is read on postmaster startup and when the postmaster
|
|
|
|
# receives a SIGHUP. If you edit the file on a running system, you have
|
|
|
|
# to SIGHUP the postmaster for the changes to take effect, or use
|
|
|
|
# "pg_ctl reload".
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
#========================================================================
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Connection Parameters
|
|
|
|
#
|
|
|
|
#tcpip_socket = false
|
|
|
|
#ssl = false
|
|
|
|
|
2001-09-07 02:46:42 +02:00
|
|
|
#max_connections = 32
|
2002-08-29 23:02:12 +02:00
|
|
|
#superuser_reserved_connections = 2
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
#port = 5432
|
|
|
|
|
2001-01-24 20:43:33 +01:00
|
|
|
#unix_socket_directory = ''
|
|
|
|
#unix_socket_group = ''
|
2002-08-27 00:23:07 +02:00
|
|
|
#unix_socket_permissions = 0777 # octal
|
2001-01-24 19:37:31 +01:00
|
|
|
|
2001-01-24 20:43:33 +01:00
|
|
|
#virtual_host = ''
|
2001-01-24 19:37:31 +01:00
|
|
|
|
2001-01-24 20:43:33 +01:00
|
|
|
#krb_server_keyfile = ''
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
|
2001-06-28 01:31:40 +02:00
|
|
|
#
|
|
|
|
# Shared Memory Size
|
|
|
|
#
|
2003-04-19 02:37:28 +02:00
|
|
|
#shared_buffers = 64 # min 16, at least max_connections*2, 8KB each
|
|
|
|
#max_locks_per_transaction = 64 # min 10, ~260*max_connections bytes each
|
|
|
|
#wal_buffers = 8 # min 4, 8KB each
|
2003-03-04 22:51:22 +01:00
|
|
|
# fsm = free space map
|
|
|
|
#max_fsm_relations = 1000 # min 100, ~50 bytes each
|
|
|
|
#max_fsm_pages = 20000 # min max_fsm_relations*16, 6 bytes each
|
2003-04-19 02:37:28 +02:00
|
|
|
# note: increasing max_connections also costs about 500 bytes each,
|
|
|
|
# in addition to costs from shared_buffers and max_locks_per_transaction.
|
|
|
|
|
2001-06-28 01:31:40 +02:00
|
|
|
|
2001-01-24 19:37:31 +01:00
|
|
|
#
|
2001-09-27 02:24:25 +02:00
|
|
|
# Non-shared Memory Sizes
|
2001-01-24 19:37:31 +01:00
|
|
|
#
|
2002-08-27 00:23:07 +02:00
|
|
|
#sort_mem = 1024 # min 64, size in KB
|
|
|
|
#vacuum_mem = 8192 # min 1024, size in KB
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
|
2001-08-21 18:31:23 +02:00
|
|
|
#
|
|
|
|
# Write-ahead log (WAL)
|
|
|
|
#
|
2002-08-27 00:23:07 +02:00
|
|
|
#checkpoint_segments = 3 # in logfile segments, min 1, 16MB each
|
|
|
|
#checkpoint_timeout = 300 # range 30-3600, in seconds
|
2002-11-15 03:44:57 +01:00
|
|
|
#checkpoint_warning = 30 # 0 is off, in seconds
|
2002-02-18 07:42:54 +01:00
|
|
|
#
|
2002-08-27 00:23:07 +02:00
|
|
|
#commit_delay = 0 # range 0-100000, in microseconds
|
2002-02-18 07:42:54 +01:00
|
|
|
#commit_siblings = 5 # range 1-1000
|
|
|
|
#
|
2001-09-27 02:24:25 +02:00
|
|
|
#fsync = true
|
2002-02-18 07:42:54 +01:00
|
|
|
#wal_sync_method = fsync # the default varies across platforms:
|
|
|
|
# # fsync, fdatasync, open_sync, or open_datasync
|
|
|
|
#wal_debug = 0 # range 0-16
|
2001-08-21 18:31:23 +02:00
|
|
|
|
|
|
|
|
2001-01-24 19:37:31 +01:00
|
|
|
#
|
|
|
|
# Optimizer Parameters
|
|
|
|
#
|
|
|
|
#enable_seqscan = true
|
|
|
|
#enable_indexscan = true
|
|
|
|
#enable_tidscan = true
|
|
|
|
#enable_sort = true
|
2002-11-21 01:42:20 +01:00
|
|
|
#enable_hashagg = true
|
2001-01-24 19:37:31 +01:00
|
|
|
#enable_nestloop = true
|
|
|
|
#enable_mergejoin = true
|
|
|
|
#enable_hashjoin = true
|
|
|
|
|
2002-08-27 16:06:05 +02:00
|
|
|
#effective_cache_size = 1000 # typically 8KB each
|
2002-08-27 04:50:41 +02:00
|
|
|
#random_page_cost = 4 # units are one sequential page fetch cost
|
|
|
|
#cpu_tuple_cost = 0.01 # (same)
|
|
|
|
#cpu_index_tuple_cost = 0.001 # (same)
|
|
|
|
#cpu_operator_cost = 0.0025 # (same)
|
2001-01-24 19:37:31 +01:00
|
|
|
|
2003-01-26 00:10:30 +01:00
|
|
|
#from_collapse_limit = 8
|
|
|
|
#join_collapse_limit = 8 # 1 disables collapsing of explicit JOINs
|
|
|
|
|
2002-07-31 19:19:54 +02:00
|
|
|
#default_statistics_target = 10 # range 1-1000
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# GEQO Optimizer Parameters
|
|
|
|
#
|
2001-12-17 20:09:01 +01:00
|
|
|
#geqo = true
|
2002-02-18 07:42:54 +01:00
|
|
|
#geqo_selection_bias = 2.0 # range 1.5-2.0
|
2001-01-24 19:37:31 +01:00
|
|
|
#geqo_threshold = 11
|
2002-09-02 01:26:06 +02:00
|
|
|
#geqo_pool_size = 0 # default based on tables in statement,
|
2002-02-18 07:42:54 +01:00
|
|
|
# range 128-1024
|
2001-01-24 19:37:31 +01:00
|
|
|
#geqo_effort = 1
|
|
|
|
#geqo_generations = 0
|
2002-02-18 07:42:54 +01:00
|
|
|
#geqo_random_seed = -1 # auto-compute seed
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
#
|
Commit to match discussed elog() changes. Only update is that LOG is
now just below FATAL in server_min_messages. Added more text to
highlight ordering difference between it and client_min_messages.
---------------------------------------------------------------------------
REALLYFATAL => PANIC
STOP => PANIC
New INFO level the prints to client by default
New LOG level the prints to server log by default
Cause VACUUM information to print only to the client
NOTICE => INFO where purely information messages are sent
DEBUG => LOG for purely server status messages
DEBUG removed, kept as backward compatible
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
DebugLvl removed in favor of new DEBUG[1-5] symbols
New server_min_messages GUC parameter with values:
DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
New client_min_messages GUC parameter with values:
DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
Server startup now logged with LOG instead of DEBUG
Remove debug_level GUC parameter
elog() numbers now start at 10
Add test to print error message if older elog() values are passed to elog()
Bootstrap mode now has a -d that requires an argument, like postmaster
2002-03-02 22:39:36 +01:00
|
|
|
# Message display
|
2001-01-24 19:37:31 +01:00
|
|
|
#
|
2002-11-15 00:53:27 +01:00
|
|
|
#log_min_messages = notice # Values, in order of decreasing detail:
|
Commit to match discussed elog() changes. Only update is that LOG is
now just below FATAL in server_min_messages. Added more text to
highlight ordering difference between it and client_min_messages.
---------------------------------------------------------------------------
REALLYFATAL => PANIC
STOP => PANIC
New INFO level the prints to client by default
New LOG level the prints to server log by default
Cause VACUUM information to print only to the client
NOTICE => INFO where purely information messages are sent
DEBUG => LOG for purely server status messages
DEBUG removed, kept as backward compatible
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
DebugLvl removed in favor of new DEBUG[1-5] symbols
New server_min_messages GUC parameter with values:
DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
New client_min_messages GUC parameter with values:
DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
Server startup now logged with LOG instead of DEBUG
Remove debug_level GUC parameter
elog() numbers now start at 10
Add test to print error message if older elog() values are passed to elog()
Bootstrap mode now has a -d that requires an argument, like postmaster
2002-03-02 22:39:36 +01:00
|
|
|
# debug5, debug4, debug3, debug2, debug1,
|
2002-03-06 07:10:59 +01:00
|
|
|
# info, notice, warning, error, log, fatal,
|
|
|
|
# panic
|
|
|
|
#client_min_messages = notice # Values, in order of decreasing detail:
|
Commit to match discussed elog() changes. Only update is that LOG is
now just below FATAL in server_min_messages. Added more text to
highlight ordering difference between it and client_min_messages.
---------------------------------------------------------------------------
REALLYFATAL => PANIC
STOP => PANIC
New INFO level the prints to client by default
New LOG level the prints to server log by default
Cause VACUUM information to print only to the client
NOTICE => INFO where purely information messages are sent
DEBUG => LOG for purely server status messages
DEBUG removed, kept as backward compatible
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
DebugLvl removed in favor of new DEBUG[1-5] symbols
New server_min_messages GUC parameter with values:
DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
New client_min_messages GUC parameter with values:
DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
Server startup now logged with LOG instead of DEBUG
Remove debug_level GUC parameter
elog() numbers now start at 10
Add test to print error message if older elog() values are passed to elog()
Bootstrap mode now has a -d that requires an argument, like postmaster
2002-03-02 22:39:36 +01:00
|
|
|
# debug5, debug4, debug3, debug2, debug1,
|
2003-01-28 04:43:47 +01:00
|
|
|
# log, info, notice, warning, error
|
2001-01-24 19:37:31 +01:00
|
|
|
#silent_mode = false
|
|
|
|
|
|
|
|
#log_connections = false
|
2002-11-15 02:57:28 +01:00
|
|
|
#log_hostname = false
|
2002-11-15 02:40:20 +01:00
|
|
|
#log_source_port = false
|
2001-01-24 19:37:31 +01:00
|
|
|
#log_pid = false
|
2002-09-02 01:26:06 +02:00
|
|
|
#log_statement = false
|
|
|
|
#log_duration = false
|
|
|
|
#log_timestamp = false
|
2001-01-24 19:37:31 +01:00
|
|
|
|
2003-03-30 23:38:02 +02:00
|
|
|
#log_min_error_statement = panic # Values in order of increasing severity:
|
2003-01-09 06:19:02 +01:00
|
|
|
# debug5, debug4, debug3, debug2, debug1,
|
2003-01-28 00:55:38 +01:00
|
|
|
# info, notice, warning, error, panic(off)
|
2003-01-09 06:19:02 +01:00
|
|
|
|
2003-06-11 20:01:14 +02:00
|
|
|
#log_min_duration_statement = 0 # Log all statements whose
|
|
|
|
# execution time exceeds the value, in
|
|
|
|
# milliseconds. Zero disables.
|
|
|
|
|
2001-01-24 19:37:31 +01:00
|
|
|
#debug_print_parse = false
|
|
|
|
#debug_print_rewritten = false
|
|
|
|
#debug_print_plan = false
|
|
|
|
#debug_pretty_print = false
|
|
|
|
|
2002-03-24 05:31:09 +01:00
|
|
|
#explain_pretty_print = true
|
|
|
|
|
2002-01-04 06:50:25 +01:00
|
|
|
# requires USE_ASSERT_CHECKING
|
2001-01-24 19:37:31 +01:00
|
|
|
#debug_assertions = true
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Syslog
|
|
|
|
#
|
2002-02-18 07:42:54 +01:00
|
|
|
#syslog = 0 # range 0-2
|
2001-01-24 20:43:33 +01:00
|
|
|
#syslog_facility = 'LOCAL0'
|
|
|
|
#syslog_ident = 'postgres'
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Statistics
|
|
|
|
#
|
2002-11-15 01:47:22 +01:00
|
|
|
#log_parser_stats = false
|
|
|
|
#log_planner_stats = false
|
|
|
|
#log_executor_stats = false
|
|
|
|
#log_statement_stats = false
|
2002-01-04 06:50:25 +01:00
|
|
|
|
|
|
|
# requires BTREE_BUILD_STATS
|
2002-11-15 02:26:09 +01:00
|
|
|
#log_btree_build_stats = false
|
2001-01-24 19:37:31 +01:00
|
|
|
|
|
|
|
|
2001-07-05 17:19:40 +02:00
|
|
|
#
|
|
|
|
# Access statistics collection
|
|
|
|
#
|
2001-09-23 23:52:36 +02:00
|
|
|
#stats_start_collector = true
|
|
|
|
#stats_reset_on_server_start = true
|
|
|
|
#stats_command_string = false
|
|
|
|
#stats_row_level = false
|
|
|
|
#stats_block_level = false
|
2001-07-05 17:19:40 +02:00
|
|
|
|
|
|
|
|
2001-06-18 18:14:44 +02:00
|
|
|
#
|
|
|
|
# Misc
|
|
|
|
#
|
2001-09-21 05:32:36 +02:00
|
|
|
#dynamic_library_path = '$libdir'
|
2003-03-24 21:39:10 +01:00
|
|
|
#search_path = '$user,public' # schema names
|
2002-05-17 03:19:19 +02:00
|
|
|
#datestyle = 'iso, us'
|
|
|
|
#timezone = unknown # actually, defaults to TZ environment setting
|
2001-06-18 18:14:44 +02:00
|
|
|
#australian_timezones = false
|
2002-05-17 03:19:19 +02:00
|
|
|
#client_encoding = sql_ascii # actually, defaults to database encoding
|
2002-08-27 00:23:07 +02:00
|
|
|
#authentication_timeout = 60 # 1-600, in seconds
|
|
|
|
#deadlock_timeout = 1000 # in milliseconds
|
2001-08-15 20:42:16 +02:00
|
|
|
#default_transaction_isolation = 'read committed'
|
2003-04-04 01:32:47 +02:00
|
|
|
#default_transaction_read_only = false
|
2002-11-08 18:37:52 +01:00
|
|
|
#extra_float_digits = 0 # min -15, max 2
|
2002-02-18 07:42:54 +01:00
|
|
|
#max_expr_depth = 10000 # min 10
|
|
|
|
#max_files_per_process = 1000 # min 25
|
2002-06-15 03:29:50 +02:00
|
|
|
#password_encryption = true
|
2003-02-06 21:25:33 +01:00
|
|
|
#regex_flavor = advanced # advanced, extended, or basic
|
2001-08-15 20:42:16 +02:00
|
|
|
#sql_inheritance = true
|
2001-09-21 05:32:36 +02:00
|
|
|
#transform_null_equals = false
|
2002-08-27 00:23:07 +02:00
|
|
|
#statement_timeout = 0 # 0 is disabled, in milliseconds
|
2002-08-18 05:03:26 +02:00
|
|
|
#db_user_namespace = false
|
> I can see a couple possible downsides: (a) the library might have some
> weird behavior across fork boundaries; (b) the additional memory space
> that has to be duplicated into child processes will cost something per
> child launch, even if the child never uses it. But these are only
> arguments that it might not *always* be a prudent thing to do, not that
> we shouldn't give the DBA the tool to do it if he wants. So fire away.
Here is a patch for the above, including a documentation update. It
creates a new GUC variable "preload_libraries", that accepts a list in
the form:
preload_libraries = '$libdir/mylib1:initfunc,$libdir/mylib2'
If ":initfunc" is omitted or not found, no initialization function is
executed, but the library is still preloaded. If "$libdir/mylib" isn't
found, the postmaster refuses to start.
In my testing with PL/R, it reduces the first call to a PL/R function
(after connecting) from almost 2 seconds, down to about 8 ms.
Joe Conway
2003-03-20 05:51:44 +01:00
|
|
|
#preload_libraries = ''
|
2003-06-12 00:13:22 +02:00
|
|
|
#add_missing_from = true
|