
recommend that people go get Apache's rotatelogs program. Additional benefits are that configuration is done through GUC, rather than externally, and that the postmaster can monitor the log rotator and restart it after failure (though we certainly hope that won't happen often). Andreas Pflug, some rework by Tom Lane.
308 lines
10 KiB
Plaintext
308 lines
10 KiB
Plaintext
# -----------------------------
|
|
# PostgreSQL configuration file
|
|
# -----------------------------
|
|
#
|
|
# This file consists of lines of the form:
|
|
#
|
|
# name = value
|
|
#
|
|
# (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.
|
|
#
|
|
# Any option can also be given as a command line switch to the
|
|
# postmaster, e.g. 'postmaster -c log_connections=on'. Some options
|
|
# can be changed at run-time with the 'SET' SQL command.
|
|
#
|
|
# 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".
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# CONFIGURATION FILES
|
|
#---------------------------------------------------------------------------
|
|
|
|
# pgdata = '/usr/local/pgsql/data' # use data in another directory
|
|
# hba_conf = '/etc/pgsql/pg_hba.conf' # use hba info in another directory
|
|
# ident_conf = '/etc/pgsql/pg_ident.conf' # use ident info in another directory
|
|
# external_pidfile= '/var/run/postgresql.pid' # write an extra pid file
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# CONNECTIONS AND AUTHENTICATION
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Connection Settings -
|
|
|
|
#listen_addresses = 'localhost' # what IP interface(s) to listen on;
|
|
# defaults to localhost, '*' = any
|
|
#port = 5432
|
|
#max_connections = 100
|
|
# note: increasing max_connections costs about 500 bytes of shared
|
|
# memory per connection slot, in addition to costs from shared_buffers
|
|
# and max_locks_per_transaction.
|
|
#superuser_reserved_connections = 2
|
|
#unix_socket_directory = ''
|
|
#unix_socket_group = ''
|
|
#unix_socket_permissions = 0777 # octal
|
|
#rendezvous_name = '' # defaults to the computer name
|
|
|
|
# - Security & Authentication -
|
|
|
|
#authentication_timeout = 60 # 1-600, in seconds
|
|
#ssl = false
|
|
#password_encryption = true
|
|
#krb_server_keyfile = ''
|
|
#db_user_namespace = false
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# RESOURCE USAGE (except WAL)
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Memory -
|
|
|
|
#shared_buffers = 1000 # min 16, at least max_connections*2, 8KB each
|
|
#work_mem = 1024 # min 64, size in KB
|
|
#maintenance_work_mem = 16384 # min 1024, size in KB
|
|
#max_stack_depth = 2048 # min 100, size in KB
|
|
|
|
#vacuum_cost_page_hit = 1 # 0-10000 credits
|
|
#vacuum_cost_page_miss = 10 # 0-10000 credits
|
|
#vacuum_cost_page_dirty = 20 # 0-10000 credits
|
|
#vacuum_cost_limit = 200 # 0-10000 credits
|
|
#vacuum_cost_naptime = 50 # 0-1000 milliseconds
|
|
|
|
# - Background writer -
|
|
#bgwriter_delay = 200 # 10-5000 milliseconds
|
|
#bgwriter_percent = 1 # 0-100% of dirty buffers
|
|
#bgwriter_maxpages = 100 # 1-1000 buffers max at once
|
|
|
|
# - Free Space Map -
|
|
|
|
#max_fsm_pages = 20000 # min max_fsm_relations*16, 6 bytes each
|
|
#max_fsm_relations = 1000 # min 100, ~50 bytes each
|
|
|
|
# - Kernel Resource Usage -
|
|
|
|
#max_files_per_process = 1000 # min 25
|
|
#preload_libraries = ''
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# WRITE AHEAD LOG
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Settings -
|
|
|
|
#fsync = true # turns forced synchronization on or off
|
|
#wal_sync_method = fsync # the default varies across platforms:
|
|
# fsync, fdatasync, open_sync, or open_datasync
|
|
#wal_buffers = 8 # min 4, 8KB each
|
|
|
|
# - Checkpoints -
|
|
|
|
#checkpoint_segments = 3 # in logfile segments, min 1, 16MB each
|
|
#checkpoint_timeout = 300 # range 30-3600, in seconds
|
|
#checkpoint_warning = 30 # 0 is off, in seconds
|
|
#commit_delay = 0 # range 0-100000, in microseconds
|
|
#commit_siblings = 5 # range 1-1000
|
|
|
|
# - Archiving -
|
|
|
|
#archive_command = '' # command to use to archive a logfile segment
|
|
|
|
# If archive_command is '' then archiving is disabled. Otherwise, set it
|
|
# to a command to copy a file to the proper place. A simplistic example
|
|
# is 'cp %p /mnt/server/archivedir/%f'. Any %p in the string is replaced
|
|
# by the absolute path of the file to archive, while any %f is replaced by
|
|
# the file name only. NOTE: it is important for the command to return
|
|
# zero exit status if and only if it succeeded.
|
|
|
|
#---------------------------------------------------------------------------
|
|
# QUERY TUNING
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Planner Method Configuration -
|
|
|
|
#enable_hashagg = true
|
|
#enable_hashjoin = true
|
|
#enable_indexscan = true
|
|
#enable_mergejoin = true
|
|
#enable_nestloop = true
|
|
#enable_seqscan = true
|
|
#enable_sort = true
|
|
#enable_tidscan = true
|
|
|
|
# - Planner Cost Constants -
|
|
|
|
#effective_cache_size = 1000 # typically 8KB each
|
|
#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)
|
|
|
|
# - Genetic Query Optimizer -
|
|
|
|
#geqo = true
|
|
#geqo_threshold = 12
|
|
#geqo_effort = 5 # range 1-10
|
|
#geqo_pool_size = 0 # selects default based on effort
|
|
#geqo_generations = 0 # selects default based on effort
|
|
#geqo_selection_bias = 2.0 # range 1.5-2.0
|
|
|
|
# - Other Planner Options -
|
|
|
|
#default_statistics_target = 10 # range 1-1000
|
|
#from_collapse_limit = 8
|
|
#join_collapse_limit = 8 # 1 disables collapsing of explicit JOINs
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# ERROR REPORTING AND LOGGING
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Where to Log -
|
|
|
|
#log_destination = 'stderr' # Valid values are combinations of stderr,
|
|
# syslog and eventlog, depending on
|
|
# platform.
|
|
|
|
# This is relevant when logging to stderr:
|
|
#redirect_stderr = false # Enable capturing of stderr into log files.
|
|
# These are only relevant if redirect_stderr is true:
|
|
#log_directory = 'pg_log' # Directory where logfiles are written.
|
|
# May be specified absolute or relative to PGDATA
|
|
#log_filename_prefix = 'postgresql_' # Prefix for logfile names.
|
|
#log_rotation_age = 1440 # Automatic rotation of logfiles will happen after
|
|
# so many minutes. 0 to disable.
|
|
#log_rotation_size = 10240 # Automatic rotation of logfiles will happen after
|
|
# so many kilobytes of log output. 0 to disable.
|
|
|
|
# These are relevant when logging to syslog:
|
|
#syslog_facility = 'LOCAL0'
|
|
#syslog_ident = 'postgres'
|
|
|
|
|
|
# - When to Log -
|
|
|
|
#client_min_messages = notice # Values, in order of decreasing detail:
|
|
# debug5, debug4, debug3, debug2, debug1,
|
|
# log, notice, warning, error
|
|
|
|
#log_min_messages = notice # Values, in order of decreasing detail:
|
|
# debug5, debug4, debug3, debug2, debug1,
|
|
# info, notice, warning, error, log, fatal,
|
|
# panic
|
|
|
|
#log_error_verbosity = default # terse, default, or verbose messages
|
|
|
|
#log_min_error_statement = panic # Values in order of increasing severity:
|
|
# debug5, debug4, debug3, debug2, debug1,
|
|
# info, notice, warning, error, panic(off)
|
|
|
|
#log_min_duration_statement = -1 # -1 is disabled, in milliseconds.
|
|
|
|
#silent_mode = false # DO NOT USE without Syslog!
|
|
|
|
# - What to Log -
|
|
|
|
#debug_print_parse = false
|
|
#debug_print_rewritten = false
|
|
#debug_print_plan = false
|
|
#debug_pretty_print = false
|
|
#log_connections = false
|
|
#log_disconnections = false
|
|
#log_duration = false
|
|
#log_line_prefix = '' # e.g. '<%u%%%d> '
|
|
# %u=user name %d=database name
|
|
# %r=remote host and port
|
|
# %p=PID %t=timestamp %i=command tag
|
|
# %c=session id %l=session line number
|
|
# %s=session start timestamp
|
|
# %x=stop here in non-session processes
|
|
# %%='%'
|
|
#log_statement = 'none' # none, mod, ddl, all
|
|
#log_hostname = false
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# RUNTIME STATISTICS
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Statistics Monitoring -
|
|
|
|
#log_parser_stats = false
|
|
#log_planner_stats = false
|
|
#log_executor_stats = false
|
|
#log_statement_stats = false
|
|
|
|
#debug_shared_buffers = 0 # 0-600 seconds
|
|
|
|
# - Query/Index Statistics Collector -
|
|
|
|
#stats_start_collector = true
|
|
#stats_command_string = false
|
|
#stats_block_level = false
|
|
#stats_row_level = false
|
|
#stats_reset_on_server_start = true
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# CLIENT CONNECTION DEFAULTS
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Statement Behavior -
|
|
|
|
#search_path = '$user,public' # schema names
|
|
#check_function_bodies = true
|
|
#default_transaction_isolation = 'read committed'
|
|
#default_transaction_read_only = false
|
|
#statement_timeout = 0 # 0 is disabled, in milliseconds
|
|
|
|
# - Locale and Formatting -
|
|
|
|
#datestyle = 'iso, mdy'
|
|
#timezone = unknown # actually, defaults to TZ environment setting
|
|
#australian_timezones = false
|
|
#extra_float_digits = 0 # min -15, max 2
|
|
#client_encoding = sql_ascii # actually, defaults to database encoding
|
|
|
|
# These settings are initialized by initdb -- they might be changed
|
|
#lc_messages = 'C' # locale for system error message strings
|
|
#lc_monetary = 'C' # locale for monetary formatting
|
|
#lc_numeric = 'C' # locale for number formatting
|
|
#lc_time = 'C' # locale for time formatting
|
|
|
|
# - Other Defaults -
|
|
|
|
#explain_pretty_print = true
|
|
#dynamic_library_path = '$libdir'
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# LOCK MANAGEMENT
|
|
#---------------------------------------------------------------------------
|
|
|
|
#deadlock_timeout = 1000 # in milliseconds
|
|
#max_locks_per_transaction = 64 # min 10, ~260*max_connections bytes each
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# VERSION/PLATFORM COMPATIBILITY
|
|
#---------------------------------------------------------------------------
|
|
|
|
# - Previous Postgres Versions -
|
|
|
|
#add_missing_from = true
|
|
#regex_flavor = advanced # advanced, extended, or basic
|
|
#sql_inheritance = true
|
|
#default_with_oids = true
|
|
|
|
# - Other Platforms & Clients -
|
|
|
|
#transform_null_equals = false
|