| 1 | # ----------------------------- |
|---|
| 2 | # PostgreSQL configuration file |
|---|
| 3 | # ----------------------------- |
|---|
| 4 | # |
|---|
| 5 | # This file consists of lines of the form: |
|---|
| 6 | # |
|---|
| 7 | # name = value |
|---|
| 8 | # |
|---|
| 9 | # (The '=' is optional.) White space may be used. Comments are introduced |
|---|
| 10 | # with '#' anywhere on a line. The complete list of option names and |
|---|
| 11 | # allowed values can be found in the PostgreSQL documentation. The |
|---|
| 12 | # commented-out settings shown in this file represent the default values. |
|---|
| 13 | # |
|---|
| 14 | # Please note that re-commenting a setting is NOT sufficient to revert it |
|---|
| 15 | # to the default value, unless you restart the postmaster. |
|---|
| 16 | # |
|---|
| 17 | # Any option can also be given as a command line switch to the |
|---|
| 18 | # postmaster, e.g. 'postmaster -c log_connections=on'. Some options |
|---|
| 19 | # can be changed at run-time with the 'SET' SQL command. |
|---|
| 20 | # |
|---|
| 21 | # This file is read on postmaster startup and when the postmaster |
|---|
| 22 | # receives a SIGHUP. If you edit the file on a running system, you have |
|---|
| 23 | # to SIGHUP the postmaster for the changes to take effect, or use |
|---|
| 24 | # "pg_ctl reload". Some settings, such as listen_addresses, require |
|---|
| 25 | # a postmaster shutdown and restart to take effect. |
|---|
| 26 | |
|---|
| 27 | |
|---|
| 28 | #--------------------------------------------------------------------------- |
|---|
| 29 | # FILE LOCATIONS |
|---|
| 30 | #--------------------------------------------------------------------------- |
|---|
| 31 | |
|---|
| 32 | # The default values of these variables are driven from the -D command line |
|---|
| 33 | # switch or PGDATA environment variable, represented here as ConfigDir. |
|---|
| 34 | |
|---|
| 35 | #data_directory = 'ConfigDir' # use data in another directory |
|---|
| 36 | hba_file = '/etc/postgresql/8.1/main/pg_hba.conf' # host-based authentication file |
|---|
| 37 | ident_file = '/etc/postgresql/8.1/main/pg_ident.conf' # IDENT configuration file |
|---|
| 38 | |
|---|
| 39 | # If external_pid_file is not explicitly set, no extra pid file is written. |
|---|
| 40 | external_pid_file = '/var/run/postgresql/8.1-main.pid' # write an extra pid file |
|---|
| 41 | |
|---|
| 42 | |
|---|
| 43 | #--------------------------------------------------------------------------- |
|---|
| 44 | # CONNECTIONS AND AUTHENTICATION |
|---|
| 45 | #--------------------------------------------------------------------------- |
|---|
| 46 | |
|---|
| 47 | # - Connection Settings - |
|---|
| 48 | |
|---|
| 49 | listen_addresses = '*' # what IP address(es) to listen on; |
|---|
| 50 | # comma-separated list of addresses; |
|---|
| 51 | # defaults to 'localhost', '*' = all |
|---|
| 52 | port = 5432 |
|---|
| 53 | max_connections = 100 |
|---|
| 54 | # note: increasing max_connections costs ~400 bytes of shared memory per |
|---|
| 55 | # connection slot, plus lock space (see max_locks_per_transaction). You |
|---|
| 56 | # might also need to raise shared_buffers to support more connections. |
|---|
| 57 | #superuser_reserved_connections = 2 |
|---|
| 58 | unix_socket_directory = '/var/run/postgresql' |
|---|
| 59 | #unix_socket_group = '' |
|---|
| 60 | #unix_socket_permissions = 0777 # octal |
|---|
| 61 | #bonjour_name = '' # defaults to the computer name |
|---|
| 62 | |
|---|
| 63 | # - Security & Authentication - |
|---|
| 64 | |
|---|
| 65 | #authentication_timeout = 60 # 1-600, in seconds |
|---|
| 66 | ssl = true |
|---|
| 67 | #password_encryption = on |
|---|
| 68 | #db_user_namespace = off |
|---|
| 69 | |
|---|
| 70 | # Kerberos |
|---|
| 71 | #krb_server_keyfile = '' |
|---|
| 72 | #krb_srvname = 'postgres' |
|---|
| 73 | #krb_server_hostname = '' # empty string matches any keytab entry |
|---|
| 74 | #krb_caseins_users = off |
|---|
| 75 | |
|---|
| 76 | # - TCP Keepalives - |
|---|
| 77 | # see 'man 7 tcp' for details |
|---|
| 78 | |
|---|
| 79 | #tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds; |
|---|
| 80 | # 0 selects the system default |
|---|
| 81 | #tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds; |
|---|
| 82 | # 0 selects the system default |
|---|
| 83 | #tcp_keepalives_count = 0 # TCP_KEEPCNT; |
|---|
| 84 | # 0 selects the system default |
|---|
| 85 | |
|---|
| 86 | |
|---|
| 87 | #--------------------------------------------------------------------------- |
|---|
| 88 | # RESOURCE USAGE (except WAL) |
|---|
| 89 | #--------------------------------------------------------------------------- |
|---|
| 90 | |
|---|
| 91 | # - Memory - |
|---|
| 92 | |
|---|
| 93 | shared_buffers = 1000 # min 16 or max_connections*2, 8KB each |
|---|
| 94 | #temp_buffers = 1000 # min 100, 8KB each |
|---|
| 95 | #max_prepared_transactions = 5 # can be 0 or more |
|---|
| 96 | # note: increasing max_prepared_transactions costs ~600 bytes of shared memory |
|---|
| 97 | # per transaction slot, plus lock space (see max_locks_per_transaction). |
|---|
| 98 | #work_mem = 1024 # min 64, size in KB |
|---|
| 99 | #maintenance_work_mem = 16384 # min 1024, size in KB |
|---|
| 100 | #max_stack_depth = 2048 # min 100, size in KB |
|---|
| 101 | |
|---|
| 102 | # - Free Space Map - |
|---|
| 103 | |
|---|
| 104 | #max_fsm_pages = 20000 # min max_fsm_relations*16, 6 bytes each |
|---|
| 105 | #max_fsm_relations = 1000 # min 100, ~70 bytes each |
|---|
| 106 | |
|---|
| 107 | # - Kernel Resource Usage - |
|---|
| 108 | |
|---|
| 109 | #max_files_per_process = 1000 # min 25 |
|---|
| 110 | #preload_libraries = '' |
|---|
| 111 | |
|---|
| 112 | # - Cost-Based Vacuum Delay - |
|---|
| 113 | |
|---|
| 114 | #vacuum_cost_delay = 0 # 0-1000 milliseconds |
|---|
| 115 | #vacuum_cost_page_hit = 1 # 0-10000 credits |
|---|
| 116 | #vacuum_cost_page_miss = 10 # 0-10000 credits |
|---|
| 117 | #vacuum_cost_page_dirty = 20 # 0-10000 credits |
|---|
| 118 | #vacuum_cost_limit = 200 # 0-10000 credits |
|---|
| 119 | |
|---|
| 120 | # - Background writer - |
|---|
| 121 | |
|---|
| 122 | #bgwriter_delay = 200 # 10-10000 milliseconds between rounds |
|---|
| 123 | #bgwriter_lru_percent = 1.0 # 0-100% of LRU buffers scanned/round |
|---|
| 124 | #bgwriter_lru_maxpages = 5 # 0-1000 buffers max written/round |
|---|
| 125 | #bgwriter_all_percent = 0.333 # 0-100% of all buffers scanned/round |
|---|
| 126 | #bgwriter_all_maxpages = 5 # 0-1000 buffers max written/round |
|---|
| 127 | |
|---|
| 128 | |
|---|
| 129 | #--------------------------------------------------------------------------- |
|---|
| 130 | # WRITE AHEAD LOG |
|---|
| 131 | #--------------------------------------------------------------------------- |
|---|
| 132 | |
|---|
| 133 | # - Settings - |
|---|
| 134 | |
|---|
| 135 | #fsync = on # turns forced synchronization on or off |
|---|
| 136 | #wal_sync_method = fsync # the default is the first option |
|---|
| 137 | # supported by the operating system: |
|---|
| 138 | # open_datasync |
|---|
| 139 | # fdatasync |
|---|
| 140 | # fsync |
|---|
| 141 | # fsync_writethrough |
|---|
| 142 | # open_sync |
|---|
| 143 | #full_page_writes = on # recover from partial page writes |
|---|
| 144 | #wal_buffers = 8 # min 4, 8KB each |
|---|
| 145 | #commit_delay = 0 # range 0-100000, in microseconds |
|---|
| 146 | #commit_siblings = 5 # range 1-1000 |
|---|
| 147 | |
|---|
| 148 | # - Checkpoints - |
|---|
| 149 | |
|---|
| 150 | #checkpoint_segments = 3 # in logfile segments, min 1, 16MB each |
|---|
| 151 | #checkpoint_timeout = 300 # range 30-3600, in seconds |
|---|
| 152 | #checkpoint_warning = 30 # in seconds, 0 is off |
|---|
| 153 | |
|---|
| 154 | # - Archiving - |
|---|
| 155 | |
|---|
| 156 | #archive_command = '' # command to use to archive a logfile |
|---|
| 157 | # segment |
|---|
| 158 | |
|---|
| 159 | |
|---|
| 160 | #--------------------------------------------------------------------------- |
|---|
| 161 | # QUERY TUNING |
|---|
| 162 | #--------------------------------------------------------------------------- |
|---|
| 163 | |
|---|
| 164 | # - Planner Method Configuration - |
|---|
| 165 | |
|---|
| 166 | #enable_bitmapscan = on |
|---|
| 167 | #enable_hashagg = on |
|---|
| 168 | #enable_hashjoin = on |
|---|
| 169 | #enable_indexscan = on |
|---|
| 170 | #enable_mergejoin = on |
|---|
| 171 | #enable_nestloop = on |
|---|
| 172 | #enable_seqscan = on |
|---|
| 173 | #enable_sort = on |
|---|
| 174 | #enable_tidscan = on |
|---|
| 175 | |
|---|
| 176 | # - Planner Cost Constants - |
|---|
| 177 | |
|---|
| 178 | #effective_cache_size = 1000 # typically 8KB each |
|---|
| 179 | #random_page_cost = 4 # units are one sequential page fetch |
|---|
| 180 | # cost |
|---|
| 181 | #cpu_tuple_cost = 0.01 # (same) |
|---|
| 182 | #cpu_index_tuple_cost = 0.001 # (same) |
|---|
| 183 | #cpu_operator_cost = 0.0025 # (same) |
|---|
| 184 | |
|---|
| 185 | # - Genetic Query Optimizer - |
|---|
| 186 | |
|---|
| 187 | #geqo = on |
|---|
| 188 | #geqo_threshold = 12 |
|---|
| 189 | #geqo_effort = 5 # range 1-10 |
|---|
| 190 | #geqo_pool_size = 0 # selects default based on effort |
|---|
| 191 | #geqo_generations = 0 # selects default based on effort |
|---|
| 192 | #geqo_selection_bias = 2.0 # range 1.5-2.0 |
|---|
| 193 | |
|---|
| 194 | # - Other Planner Options - |
|---|
| 195 | |
|---|
| 196 | #default_statistics_target = 10 # range 1-1000 |
|---|
| 197 | #constraint_exclusion = off |
|---|
| 198 | #from_collapse_limit = 8 |
|---|
| 199 | #join_collapse_limit = 8 # 1 disables collapsing of explicit |
|---|
| 200 | # JOINs |
|---|
| 201 | |
|---|
| 202 | |
|---|
| 203 | #--------------------------------------------------------------------------- |
|---|
| 204 | # ERROR REPORTING AND LOGGING |
|---|
| 205 | #--------------------------------------------------------------------------- |
|---|
| 206 | |
|---|
| 207 | # - Where to Log - |
|---|
| 208 | |
|---|
| 209 | #log_destination = 'stderr' # Valid values are combinations of |
|---|
| 210 | # stderr, syslog and eventlog, |
|---|
| 211 | # depending on platform. |
|---|
| 212 | |
|---|
| 213 | # This is used when logging to stderr: |
|---|
| 214 | #redirect_stderr = off # Enable capturing of stderr into log |
|---|
| 215 | # files |
|---|
| 216 | |
|---|
| 217 | # These are only used if redirect_stderr is on: |
|---|
| 218 | #log_directory = 'pg_log' # Directory where log files are written |
|---|
| 219 | # Can be absolute or relative to PGDATA |
|---|
| 220 | #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # Log file name pattern. |
|---|
| 221 | # Can include strftime() escapes |
|---|
| 222 | #log_truncate_on_rotation = off # If on, any existing log file of the same |
|---|
| 223 | # name as the new log file will be |
|---|
| 224 | # truncated rather than appended to. But |
|---|
| 225 | # such truncation only occurs on |
|---|
| 226 | # time-driven rotation, not on restarts |
|---|
| 227 | # or size-driven rotation. Default is |
|---|
| 228 | # off, meaning append to existing files |
|---|
| 229 | # in all cases. |
|---|
| 230 | #log_rotation_age = 1440 # Automatic rotation of logfiles will |
|---|
| 231 | # happen after so many minutes. 0 to |
|---|
| 232 | # disable. |
|---|
| 233 | #log_rotation_size = 10240 # Automatic rotation of logfiles will |
|---|
| 234 | # happen after so many kilobytes of log |
|---|
| 235 | # output. 0 to disable. |
|---|
| 236 | |
|---|
| 237 | # These are relevant when logging to syslog: |
|---|
| 238 | #syslog_facility = 'LOCAL0' |
|---|
| 239 | #syslog_ident = 'postgres' |
|---|
| 240 | |
|---|
| 241 | |
|---|
| 242 | # - When to Log - |
|---|
| 243 | |
|---|
| 244 | #client_min_messages = notice # Values, in order of decreasing detail: |
|---|
| 245 | # debug5 |
|---|
| 246 | # debug4 |
|---|
| 247 | # debug3 |
|---|
| 248 | # debug2 |
|---|
| 249 | # debug1 |
|---|
| 250 | # log |
|---|
| 251 | # notice |
|---|
| 252 | # warning |
|---|
| 253 | # error |
|---|
| 254 | |
|---|
| 255 | #log_min_messages = notice # Values, in order of decreasing detail: |
|---|
| 256 | # debug5 |
|---|
| 257 | # debug4 |
|---|
| 258 | # debug3 |
|---|
| 259 | # debug2 |
|---|
| 260 | # debug1 |
|---|
| 261 | # info |
|---|
| 262 | # notice |
|---|
| 263 | # warning |
|---|
| 264 | # error |
|---|
| 265 | # log |
|---|
| 266 | # fatal |
|---|
| 267 | # panic |
|---|
| 268 | |
|---|
| 269 | #log_error_verbosity = default # terse, default, or verbose messages |
|---|
| 270 | |
|---|
| 271 | #log_min_error_statement = panic # Values in order of increasing severity: |
|---|
| 272 | # debug5 |
|---|
| 273 | # debug4 |
|---|
| 274 | # debug3 |
|---|
| 275 | # debug2 |
|---|
| 276 | # debug1 |
|---|
| 277 | # info |
|---|
| 278 | # notice |
|---|
| 279 | # warning |
|---|
| 280 | # error |
|---|
| 281 | # panic(off) |
|---|
| 282 | |
|---|
| 283 | #log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements |
|---|
| 284 | # and their durations, in milliseconds. |
|---|
| 285 | |
|---|
| 286 | #silent_mode = off # DO NOT USE without syslog or |
|---|
| 287 | # redirect_stderr |
|---|
| 288 | |
|---|
| 289 | # - What to Log - |
|---|
| 290 | |
|---|
| 291 | #debug_print_parse = off |
|---|
| 292 | #debug_print_rewritten = off |
|---|
| 293 | #debug_print_plan = off |
|---|
| 294 | #debug_pretty_print = off |
|---|
| 295 | #log_connections = off |
|---|
| 296 | #log_disconnections = off |
|---|
| 297 | #log_duration = off |
|---|
| 298 | log_line_prefix = '%t ' # Special values: |
|---|
| 299 | # %u = user name |
|---|
| 300 | # %d = database name |
|---|
| 301 | # %r = remote host and port |
|---|
| 302 | # %h = remote host |
|---|
| 303 | # %p = PID |
|---|
| 304 | # %t = timestamp (no milliseconds) |
|---|
| 305 | # %m = timestamp with milliseconds |
|---|
| 306 | # %i = command tag |
|---|
| 307 | # %c = session id |
|---|
| 308 | # %l = session line number |
|---|
| 309 | # %s = session start timestamp |
|---|
| 310 | # %x = transaction id |
|---|
| 311 | # %q = stop here in non-session |
|---|
| 312 | # processes |
|---|
| 313 | # %% = '%' |
|---|
| 314 | # e.g. '<%u%%%d> ' |
|---|
| 315 | #log_statement = 'none' # none, mod, ddl, all |
|---|
| 316 | #log_hostname = off |
|---|
| 317 | |
|---|
| 318 | |
|---|
| 319 | #--------------------------------------------------------------------------- |
|---|
| 320 | # RUNTIME STATISTICS |
|---|
| 321 | #--------------------------------------------------------------------------- |
|---|
| 322 | |
|---|
| 323 | # - Statistics Monitoring - |
|---|
| 324 | |
|---|
| 325 | #log_parser_stats = off |
|---|
| 326 | #log_planner_stats = off |
|---|
| 327 | #log_executor_stats = off |
|---|
| 328 | #log_statement_stats = off |
|---|
| 329 | |
|---|
| 330 | # - Query/Index Statistics Collector - |
|---|
| 331 | |
|---|
| 332 | #stats_start_collector = on |
|---|
| 333 | #stats_command_string = off |
|---|
| 334 | #stats_block_level = off |
|---|
| 335 | stats_row_level = on |
|---|
| 336 | #stats_reset_on_server_start = off |
|---|
| 337 | |
|---|
| 338 | |
|---|
| 339 | #--------------------------------------------------------------------------- |
|---|
| 340 | # AUTOVACUUM PARAMETERS |
|---|
| 341 | #--------------------------------------------------------------------------- |
|---|
| 342 | |
|---|
| 343 | autovacuum = on # enable autovacuum subprocess? |
|---|
| 344 | #autovacuum_naptime = 60 # time between autovacuum runs, in secs |
|---|
| 345 | #autovacuum_vacuum_threshold = 1000 # min # of tuple updates before |
|---|
| 346 | # vacuum |
|---|
| 347 | #autovacuum_analyze_threshold = 500 # min # of tuple updates before |
|---|
| 348 | # analyze |
|---|
| 349 | #autovacuum_vacuum_scale_factor = 0.4 # fraction of rel size before |
|---|
| 350 | # vacuum |
|---|
| 351 | #autovacuum_analyze_scale_factor = 0.2 # fraction of rel size before |
|---|
| 352 | # analyze |
|---|
| 353 | #autovacuum_vacuum_cost_delay = -1 # default vacuum cost delay for |
|---|
| 354 | # autovac, -1 means use |
|---|
| 355 | # vacuum_cost_delay |
|---|
| 356 | #autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for |
|---|
| 357 | # autovac, -1 means use |
|---|
| 358 | # vacuum_cost_limit |
|---|
| 359 | |
|---|
| 360 | |
|---|
| 361 | #--------------------------------------------------------------------------- |
|---|
| 362 | # CLIENT CONNECTION DEFAULTS |
|---|
| 363 | #--------------------------------------------------------------------------- |
|---|
| 364 | |
|---|
| 365 | # - Statement Behavior - |
|---|
| 366 | |
|---|
| 367 | #search_path = '$user,public' # schema names |
|---|
| 368 | #default_tablespace = '' # a tablespace name, '' uses |
|---|
| 369 | # the default |
|---|
| 370 | #check_function_bodies = on |
|---|
| 371 | #default_transaction_isolation = 'read committed' |
|---|
| 372 | #default_transaction_read_only = off |
|---|
| 373 | #statement_timeout = 0 # 0 is disabled, in milliseconds |
|---|
| 374 | |
|---|
| 375 | # - Locale and Formatting - |
|---|
| 376 | |
|---|
| 377 | #datestyle = 'iso, mdy' |
|---|
| 378 | #timezone = unknown # actually, defaults to TZ |
|---|
| 379 | # environment setting |
|---|
| 380 | #australian_timezones = off |
|---|
| 381 | #extra_float_digits = 0 # min -15, max 2 |
|---|
| 382 | #client_encoding = sql_ascii # actually, defaults to database |
|---|
| 383 | # encoding |
|---|
| 384 | |
|---|
| 385 | # These settings are initialized by initdb -- they might be changed |
|---|
| 386 | lc_messages = 'C' # locale for system error message |
|---|
| 387 | # strings |
|---|
| 388 | lc_monetary = 'C' # locale for monetary formatting |
|---|
| 389 | lc_numeric = 'C' # locale for number formatting |
|---|
| 390 | lc_time = 'C' # locale for time formatting |
|---|
| 391 | |
|---|
| 392 | # - Other Defaults - |
|---|
| 393 | |
|---|
| 394 | #explain_pretty_print = on |
|---|
| 395 | #dynamic_library_path = '$libdir' |
|---|
| 396 | |
|---|
| 397 | |
|---|
| 398 | #--------------------------------------------------------------------------- |
|---|
| 399 | # LOCK MANAGEMENT |
|---|
| 400 | #--------------------------------------------------------------------------- |
|---|
| 401 | |
|---|
| 402 | #deadlock_timeout = 1000 # in milliseconds |
|---|
| 403 | #max_locks_per_transaction = 64 # min 10 |
|---|
| 404 | # note: each lock table slot uses ~220 bytes of shared memory, and there are |
|---|
| 405 | # max_locks_per_transaction * (max_connections + max_prepared_transactions) |
|---|
| 406 | # lock table slots. |
|---|
| 407 | |
|---|
| 408 | |
|---|
| 409 | #--------------------------------------------------------------------------- |
|---|
| 410 | # VERSION/PLATFORM COMPATIBILITY |
|---|
| 411 | #--------------------------------------------------------------------------- |
|---|
| 412 | |
|---|
| 413 | # - Previous Postgres Versions - |
|---|
| 414 | |
|---|
| 415 | #add_missing_from = off |
|---|
| 416 | #backslash_quote = safe_encoding # on, off, or safe_encoding |
|---|
| 417 | #default_with_oids = off |
|---|
| 418 | #escape_string_warning = off |
|---|
| 419 | #regex_flavor = advanced # advanced, extended, or basic |
|---|
| 420 | #sql_inheritance = on |
|---|
| 421 | |
|---|
| 422 | # - Other Platforms & Clients - |
|---|
| 423 | |
|---|
| 424 | #transform_null_equals = off |
|---|
| 425 | |
|---|
| 426 | |
|---|
| 427 | #--------------------------------------------------------------------------- |
|---|
| 428 | # CUSTOMIZED OPTIONS |
|---|
| 429 | #--------------------------------------------------------------------------- |
|---|
| 430 | |
|---|
| 431 | #custom_variable_classes = '' # list of custom variable class names |
|---|