github.com/techend/deis@v1.0.1-0.20141111224634-e0eee0392b8a/database/templates/postgresql.conf (about) 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.) Whitespace may be used. Comments are introduced with 10 # "#" anywhere on a line. The complete list of parameter names and allowed 11 # values can be found in the PostgreSQL documentation. 12 # 13 # The commented-out settings shown in this file represent the default values. 14 # Re-commenting a setting is NOT sufficient to revert it to the default value; 15 # you need to reload the server. 16 # 17 # This file is read on server startup and when the server receives a SIGHUP 18 # signal. If you edit the file on a running system, you have to SIGHUP the 19 # server for the changes to take effect, or use "pg_ctl reload". Some 20 # parameters, which are marked below, require a server shutdown and restart to 21 # take effect. 22 # 23 # Any parameter can also be given as a command-line option to the server, e.g., 24 # "postgres -c log_connections=on". Some parameters can be changed at run time 25 # with the "SET" SQL command. 26 # 27 # Memory units: kB = kilobytes Time units: ms = milliseconds 28 # MB = megabytes s = seconds 29 # GB = gigabytes min = minutes 30 # h = hours 31 # d = days 32 33 34 #------------------------------------------------------------------------------ 35 # FILE LOCATIONS 36 #------------------------------------------------------------------------------ 37 38 # The default values of these variables are driven from the -D command-line 39 # option or PGDATA environment variable, represented here as ConfigDir. 40 41 data_directory = '/var/lib/postgresql/9.3/main' # use data in another directory 42 # (change requires restart) 43 hba_file = '/etc/postgresql/9.3/main/pg_hba.conf' # host-based authentication file 44 # (change requires restart) 45 ident_file = '/etc/postgresql/9.3/main/pg_ident.conf' # ident configuration file 46 # (change requires restart) 47 48 # If external_pid_file is not explicitly set, no extra PID file is written. 49 external_pid_file = '/var/run/postgresql/9.3-main.pid' # write an extra PID file 50 # (change requires restart) 51 52 53 #------------------------------------------------------------------------------ 54 # CONNECTIONS AND AUTHENTICATION 55 #------------------------------------------------------------------------------ 56 57 # - Connection Settings - 58 59 #listen_addresses = 'localhost' # what IP address(es) to listen on; 60 # comma-separated list of addresses; 61 # defaults to 'localhost'; use '*' for all 62 # (change requires restart) 63 port = 5432 # (change requires restart) 64 max_connections = 100 # (change requires restart) 65 # Note: Increasing max_connections costs ~400 bytes of shared memory per 66 # connection slot, plus lock space (see max_locks_per_transaction). 67 #superuser_reserved_connections = 3 # (change requires restart) 68 unix_socket_directories = '/var/run/postgresql' # comma-separated list of directories 69 # (change requires restart) 70 #unix_socket_group = '' # (change requires restart) 71 #unix_socket_permissions = 0777 # begin with 0 to use octal notation 72 # (change requires restart) 73 #bonjour = off # advertise server via Bonjour 74 # (change requires restart) 75 #bonjour_name = '' # defaults to the computer name 76 # (change requires restart) 77 78 # - Security and Authentication - 79 80 #authentication_timeout = 1min # 1s-600s 81 #ssl = off # (change requires restart) 82 #ssl_ciphers = 'DEFAULT:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers 83 # (change requires restart) 84 #ssl_renegotiation_limit = 512MB # amount of data between renegotiations 85 #ssl_cert_file = 'server.crt' # (change requires restart) 86 #ssl_key_file = 'server.key' # (change requires restart) 87 #ssl_ca_file = '' # (change requires restart) 88 #ssl_crl_file = '' # (change requires restart) 89 #password_encryption = on 90 #db_user_namespace = off 91 92 # Kerberos and GSSAPI 93 #krb_server_keyfile = '' 94 #krb_srvname = 'postgres' # (Kerberos only) 95 #krb_caseins_users = off 96 97 # - TCP Keepalives - 98 # see "man 7 tcp" for details 99 100 #tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds; 101 # 0 selects the system default 102 #tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds; 103 # 0 selects the system default 104 #tcp_keepalives_count = 0 # TCP_KEEPCNT; 105 # 0 selects the system default 106 107 108 #------------------------------------------------------------------------------ 109 # RESOURCE USAGE (except WAL) 110 #------------------------------------------------------------------------------ 111 112 # - Memory - 113 114 shared_buffers = 128MB # min 128kB 115 # (change requires restart) 116 #temp_buffers = 8MB # min 800kB 117 #max_prepared_transactions = 0 # zero disables the feature 118 # (change requires restart) 119 # Note: Increasing max_prepared_transactions costs ~600 bytes of shared memory 120 # per transaction slot, plus lock space (see max_locks_per_transaction). 121 # It is not advisable to set max_prepared_transactions nonzero unless you 122 # actively intend to use prepared transactions. 123 #work_mem = 1MB # min 64kB 124 #maintenance_work_mem = 16MB # min 1MB 125 #max_stack_depth = 2MB # min 100kB 126 127 # - Disk - 128 129 #temp_file_limit = -1 # limits per-session temp file space 130 # in kB, or -1 for no limit 131 132 # - Kernel Resource Usage - 133 134 #max_files_per_process = 1000 # min 25 135 # (change requires restart) 136 #shared_preload_libraries = '' # (change requires restart) 137 138 # - Cost-Based Vacuum Delay - 139 140 #vacuum_cost_delay = 0 # 0-100 milliseconds 141 #vacuum_cost_page_hit = 1 # 0-10000 credits 142 #vacuum_cost_page_miss = 10 # 0-10000 credits 143 #vacuum_cost_page_dirty = 20 # 0-10000 credits 144 #vacuum_cost_limit = 200 # 1-10000 credits 145 146 # - Background Writer - 147 148 #bgwriter_delay = 200ms # 10-10000ms between rounds 149 #bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round 150 #bgwriter_lru_multiplier = 2.0 # 0-10.0 multipler on buffers scanned/round 151 152 # - Asynchronous Behavior - 153 154 #effective_io_concurrency = 1 # 1-1000; 0 disables prefetching 155 156 157 #------------------------------------------------------------------------------ 158 # WRITE AHEAD LOG 159 #------------------------------------------------------------------------------ 160 161 # - Settings - 162 163 wal_level = archive # minimal, archive, or hot_standby 164 # (change requires restart) 165 #fsync = on # turns forced synchronization on or off 166 #synchronous_commit = on # synchronization level; 167 # off, local, remote_write, or on 168 #wal_sync_method = fsync # the default is the first option 169 # supported by the operating system: 170 # open_datasync 171 # fdatasync (default on Linux) 172 # fsync 173 # fsync_writethrough 174 # open_sync 175 #full_page_writes = on # recover from partial page writes 176 #wal_buffers = -1 # min 32kB, -1 sets based on shared_buffers 177 # (change requires restart) 178 #wal_writer_delay = 200ms # 1-10000 milliseconds 179 180 #commit_delay = 0 # range 0-100000, in microseconds 181 #commit_siblings = 5 # range 1-1000 182 183 # - Checkpoints - 184 185 #checkpoint_segments = 3 # in logfile segments, min 1, 16MB each 186 #checkpoint_timeout = 5min # range 30s-1h 187 #checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0 188 #checkpoint_warning = 30s # 0 disables 189 190 # - Archiving - 191 192 archive_mode = on # allows archiving to be done 193 # (change requires restart) 194 archive_command = 'envdir /etc/wal-e.d/env wal-e wal-push %p' # command to use to archive a logfile segment 195 # placeholders: %p = path of file to archive 196 # %f = file name only 197 # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f' 198 archive_timeout = 60 # force a logfile segment switch after this 199 # number of seconds; 0 disables 200 201 202 #------------------------------------------------------------------------------ 203 # REPLICATION 204 #------------------------------------------------------------------------------ 205 206 # - Sending Server(s) - 207 208 # Set these on the master and on any standby that will send replication data. 209 210 #max_wal_senders = 0 # max number of walsender processes 211 # (change requires restart) 212 #wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables 213 #wal_sender_timeout = 60s # in milliseconds; 0 disables 214 215 # - Master Server - 216 217 # These settings are ignored on a standby server. 218 219 #synchronous_standby_names = '' # standby servers that provide sync rep 220 # comma-separated list of application_name 221 # from standby(s); '*' = all 222 #vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed 223 224 # - Standby Servers - 225 226 # These settings are ignored on a master server. 227 228 #hot_standby = off # "on" allows queries during recovery 229 # (change requires restart) 230 #max_standby_archive_delay = 30s # max delay before canceling queries 231 # when reading WAL from archive; 232 # -1 allows indefinite delay 233 #max_standby_streaming_delay = 30s # max delay before canceling queries 234 # when reading streaming WAL; 235 # -1 allows indefinite delay 236 #wal_receiver_status_interval = 10s # send replies at least this often 237 # 0 disables 238 #hot_standby_feedback = off # send info from standby to prevent 239 # query conflicts 240 #wal_receiver_timeout = 60s # time that receiver waits for 241 # communication from master 242 # in milliseconds; 0 disables 243 244 245 #------------------------------------------------------------------------------ 246 # QUERY TUNING 247 #------------------------------------------------------------------------------ 248 249 # - Planner Method Configuration - 250 251 #enable_bitmapscan = on 252 #enable_hashagg = on 253 #enable_hashjoin = on 254 #enable_indexscan = on 255 #enable_indexonlyscan = on 256 #enable_material = on 257 #enable_mergejoin = on 258 #enable_nestloop = on 259 #enable_seqscan = on 260 #enable_sort = on 261 #enable_tidscan = on 262 263 # - Planner Cost Constants - 264 265 #seq_page_cost = 1.0 # measured on an arbitrary scale 266 #random_page_cost = 4.0 # same scale as above 267 #cpu_tuple_cost = 0.01 # same scale as above 268 #cpu_index_tuple_cost = 0.005 # same scale as above 269 #cpu_operator_cost = 0.0025 # same scale as above 270 #effective_cache_size = 128MB 271 272 # - Genetic Query Optimizer - 273 274 #geqo = on 275 #geqo_threshold = 12 276 #geqo_effort = 5 # range 1-10 277 #geqo_pool_size = 0 # selects default based on effort 278 #geqo_generations = 0 # selects default based on effort 279 #geqo_selection_bias = 2.0 # range 1.5-2.0 280 #geqo_seed = 0.0 # range 0.0-1.0 281 282 # - Other Planner Options - 283 284 #default_statistics_target = 100 # range 1-10000 285 #constraint_exclusion = partition # on, off, or partition 286 #cursor_tuple_fraction = 0.1 # range 0.0-1.0 287 #from_collapse_limit = 8 288 #join_collapse_limit = 8 # 1 disables collapsing of explicit 289 # JOIN clauses 290 291 292 #------------------------------------------------------------------------------ 293 # ERROR REPORTING AND LOGGING 294 #------------------------------------------------------------------------------ 295 296 # - Where to Log - 297 298 #log_destination = 'stderr' # Valid values are combinations of 299 # stderr, csvlog, syslog, and eventlog, 300 # depending on platform. csvlog 301 # requires logging_collector to be on. 302 303 # This is used when logging to stderr: 304 #logging_collector = off # Enable capturing of stderr and csvlog 305 # into log files. Required to be on for 306 # csvlogs. 307 # (change requires restart) 308 309 # These are only used if logging_collector is on: 310 #log_directory = 'pg_log' # directory where log files are written, 311 # can be absolute or relative to PGDATA 312 #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern, 313 # can include strftime() escapes 314 #log_file_mode = 0600 # creation mode for log files, 315 # begin with 0 to use octal notation 316 #log_truncate_on_rotation = off # If on, an existing log file with the 317 # same name as the new log file will be 318 # truncated rather than appended to. 319 # But such truncation only occurs on 320 # time-driven rotation, not on restarts 321 # or size-driven rotation. Default is 322 # off, meaning append to existing files 323 # in all cases. 324 #log_rotation_age = 1d # Automatic rotation of logfiles will 325 # happen after that time. 0 disables. 326 #log_rotation_size = 10MB # Automatic rotation of logfiles will 327 # happen after that much log output. 328 # 0 disables. 329 330 # These are relevant when logging to syslog: 331 #syslog_facility = 'LOCAL0' 332 #syslog_ident = 'postgres' 333 334 # This is only relevant when logging to eventlog (win32): 335 #event_source = 'PostgreSQL' 336 337 # - When to Log - 338 339 #client_min_messages = notice # values in order of decreasing detail: 340 # debug5 341 # debug4 342 # debug3 343 # debug2 344 # debug1 345 # log 346 # notice 347 # warning 348 # error 349 350 #log_min_messages = warning # values in order of decreasing detail: 351 # debug5 352 # debug4 353 # debug3 354 # debug2 355 # debug1 356 # info 357 # notice 358 # warning 359 # error 360 # log 361 # fatal 362 # panic 363 364 #log_min_error_statement = error # values in order of decreasing detail: 365 # debug5 366 # debug4 367 # debug3 368 # debug2 369 # debug1 370 # info 371 # notice 372 # warning 373 # error 374 # log 375 # fatal 376 # panic (effectively off) 377 378 #log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements 379 # and their durations, > 0 logs only 380 # statements running at least this number 381 # of milliseconds 382 383 384 # - What to Log - 385 386 #debug_print_parse = off 387 #debug_print_rewritten = off 388 #debug_print_plan = off 389 #debug_pretty_print = on 390 #log_checkpoints = off 391 #log_connections = off 392 #log_disconnections = off 393 #log_duration = off 394 #log_error_verbosity = default # terse, default, or verbose messages 395 #log_hostname = off 396 log_line_prefix = '%t ' # special values: 397 # %a = application name 398 # %u = user name 399 # %d = database name 400 # %r = remote host and port 401 # %h = remote host 402 # %p = process ID 403 # %t = timestamp without milliseconds 404 # %m = timestamp with milliseconds 405 # %i = command tag 406 # %e = SQL state 407 # %c = session ID 408 # %l = session line number 409 # %s = session start timestamp 410 # %v = virtual transaction ID 411 # %x = transaction ID (0 if none) 412 # %q = stop here in non-session 413 # processes 414 # %% = '%' 415 # e.g. '<%u%%%d> ' 416 #log_lock_waits = off # log lock waits >= deadlock_timeout 417 #log_statement = 'none' # none, ddl, mod, all 418 #log_temp_files = -1 # log temporary files equal or larger 419 # than the specified size in kilobytes; 420 # -1 disables, 0 logs all temp files 421 log_timezone = 'UTC' 422 423 424 #------------------------------------------------------------------------------ 425 # RUNTIME STATISTICS 426 #------------------------------------------------------------------------------ 427 428 # - Query/Index Statistics Collector - 429 430 #track_activities = on 431 #track_counts = on 432 #track_io_timing = off 433 #track_functions = none # none, pl, all 434 #track_activity_query_size = 1024 # (change requires restart) 435 #update_process_title = on 436 #stats_temp_directory = 'pg_stat_tmp' 437 438 439 # - Statistics Monitoring - 440 441 #log_parser_stats = off 442 #log_planner_stats = off 443 #log_executor_stats = off 444 #log_statement_stats = off 445 446 447 #------------------------------------------------------------------------------ 448 # AUTOVACUUM PARAMETERS 449 #------------------------------------------------------------------------------ 450 451 #autovacuum = on # Enable autovacuum subprocess? 'on' 452 # requires track_counts to also be on. 453 #log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and 454 # their durations, > 0 logs only 455 # actions running at least this number 456 # of milliseconds. 457 #autovacuum_max_workers = 3 # max number of autovacuum subprocesses 458 # (change requires restart) 459 #autovacuum_naptime = 1min # time between autovacuum runs 460 #autovacuum_vacuum_threshold = 50 # min number of row updates before 461 # vacuum 462 #autovacuum_analyze_threshold = 50 # min number of row updates before 463 # analyze 464 #autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum 465 #autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze 466 #autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum 467 # (change requires restart) 468 #autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for 469 # autovacuum, in milliseconds; 470 # -1 means use vacuum_cost_delay 471 #autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for 472 # autovacuum, -1 means use 473 # vacuum_cost_limit 474 475 476 #------------------------------------------------------------------------------ 477 # CLIENT CONNECTION DEFAULTS 478 #------------------------------------------------------------------------------ 479 480 # - Statement Behavior - 481 482 #search_path = '"$user",public' # schema names 483 #default_tablespace = '' # a tablespace name, '' uses the default 484 #temp_tablespaces = '' # a list of tablespace names, '' uses 485 # only default tablespace 486 #check_function_bodies = on 487 #default_transaction_isolation = 'read committed' 488 #default_transaction_read_only = off 489 #default_transaction_deferrable = off 490 #session_replication_role = 'origin' 491 #statement_timeout = 0 # in milliseconds, 0 is disabled 492 #lock_timeout = 0 # in milliseconds, 0 is disabled 493 #vacuum_freeze_min_age = 50000000 494 #vacuum_freeze_table_age = 150000000 495 #bytea_output = 'hex' # hex, escape 496 #xmlbinary = 'base64' 497 #xmloption = 'content' 498 499 # - Locale and Formatting - 500 501 datestyle = 'iso, mdy' 502 #intervalstyle = 'postgres' 503 timezone = 'UTC' 504 #timezone_abbreviations = 'Default' # Select the set of available time zone 505 # abbreviations. Currently, there are 506 # Default 507 # Australia 508 # India 509 # You can create your own file in 510 # share/timezonesets/. 511 #extra_float_digits = 0 # min -15, max 3 512 #client_encoding = sql_ascii # actually, defaults to database 513 # encoding 514 515 # These settings are initialized by initdb, but they can be changed. 516 lc_messages = 'C' # locale for system error message 517 # strings 518 lc_monetary = 'C' # locale for monetary formatting 519 lc_numeric = 'C' # locale for number formatting 520 lc_time = 'C' # locale for time formatting 521 522 # default configuration for text search 523 default_text_search_config = 'pg_catalog.english' 524 525 # - Other Defaults - 526 527 #dynamic_library_path = '$libdir' 528 #local_preload_libraries = '' 529 530 531 #------------------------------------------------------------------------------ 532 # LOCK MANAGEMENT 533 #------------------------------------------------------------------------------ 534 535 #deadlock_timeout = 1s 536 #max_locks_per_transaction = 64 # min 10 537 # (change requires restart) 538 # Note: Each lock table slot uses ~270 bytes of shared memory, and there are 539 # max_locks_per_transaction * (max_connections + max_prepared_transactions) 540 # lock table slots. 541 #max_pred_locks_per_transaction = 64 # min 10 542 # (change requires restart) 543 544 545 #------------------------------------------------------------------------------ 546 # VERSION/PLATFORM COMPATIBILITY 547 #------------------------------------------------------------------------------ 548 549 # - Previous PostgreSQL Versions - 550 551 #array_nulls = on 552 #backslash_quote = safe_encoding # on, off, or safe_encoding 553 #default_with_oids = off 554 #escape_string_warning = on 555 #lo_compat_privileges = off 556 #quote_all_identifiers = off 557 #sql_inheritance = on 558 #standard_conforming_strings = on 559 #synchronize_seqscans = on 560 561 # - Other Platforms and Clients - 562 563 #transform_null_equals = off 564 565 566 #------------------------------------------------------------------------------ 567 # ERROR HANDLING 568 #------------------------------------------------------------------------------ 569 570 #exit_on_error = off # terminate session on any error? 571 #restart_after_crash = on # reinitialize after backend crash? 572 573 574 #------------------------------------------------------------------------------ 575 # CONFIG FILE INCLUDES 576 #------------------------------------------------------------------------------ 577 578 # These options allow settings to be loaded from files other than the 579 # default postgresql.conf. 580 581 #include_dir = 'conf.d' # include files ending in '.conf' from 582 # directory 'conf.d' 583 #include_if_exists = 'exists.conf' # include file only if it exists 584 #include = 'special.conf' # include file 585 586 587 #------------------------------------------------------------------------------ 588 # CUSTOMIZED OPTIONS 589 #------------------------------------------------------------------------------ 590 591 # Add settings for extensions here