Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

362 lines (292 sloc) 17.577 kB
#
# Cookbook Name:: postgresql
# Attributes:: default
#
# Author:: Phil Cohen <github@phlippers.net>
#
# Copyright 2012, Phil Cohen
#
default["postgresql"]["version"] = "9.2"
default["postgresql"]["environment_variables"] = {}
default["postgresql"]["pg_ctl_options"] = ""
default["postgresql"]["pg_hba"] = []
default["postgresql"]["pg_ident"] = []
default["postgresql"]["start"] = "auto" # auto, manual, disabled
#------------------------------------------------------------------------------
# POSTGIS
#------------------------------------------------------------------------------
default["postgis"]["version"] = "1.5"
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------
default["postgresql"]["data_directory"] = "/var/lib/postgresql/#{node["postgresql"]["version"]}/main"
default["postgresql"]["hba_file"] = "/etc/postgresql/#{node["postgresql"]["version"]}/main/pg_hba.conf"
default["postgresql"]["ident_file"] = "/etc/postgresql/#{node["postgresql"]["version"]}/main/pg_ident.conf"
default["postgresql"]["external_pid_file"] = "/var/run/postgresql/#{node["postgresql"]["version"]}-main.pid"
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# connection settings
default["postgresql"]["listen_addresses"] = "localhost"
default["postgresql"]["port"] = 5432
default["postgresql"]["max_connections"] = 100
default["postgresql"]["superuser_reserved_connections"] = 3
default["postgresql"]["unix_socket_directory"] = "/var/run/postgresql"
default["postgresql"]["unix_socket_group"] = ""
default["postgresql"]["unix_socket_permissions"] = "0777"
default["postgresql"]["bonjour"] = "off"
default["postgresql"]["bonjour_name"] = ""
# security and authentication
default["postgresql"]["authentication_timeout"] = "1min"
default["postgresql"]["ssl"] = true
default["postgresql"]["ssl_ciphers"] = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"
default["postgresql"]["ssl_renegotiation_limit"] = "512MB"
default["postgresql"]["ssl_ca_file"] = ""
default["postgresql"]["ssl_cert_file"] = "server.crt"
default["postgresql"]["ssl_crl_file"] = ""
default["postgresql"]["ssl_key_file"] = "server.key"
default["postgresql"]["password_encryption"] = "on"
default["postgresql"]["db_user_namespace"] = "off"
# kerberos and gssapi
default["postgresql"]["db_user_namespace"] = "off"
default["postgresql"]["krb_server_keyfile"] = ""
default["postgresql"]["krb_srvname"] = "postgres"
default["postgresql"]["krb_caseins_users"] = "off"
# tcp keepalives
default["postgresql"]["tcp_keepalives_idle"] = 0
default["postgresql"]["tcp_keepalives_interval"] = 0
default["postgresql"]["tcp_keepalives_count"] = 0
#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------
# memory
default["postgresql"]["shared_buffers"] = "24MB"
default["postgresql"]["temp_buffers"] = "8MB"
default["postgresql"]["max_prepared_transactions"] = 0
default["postgresql"]["work_mem"] = "1MB"
default["postgresql"]["maintenance_work_mem"] = "16MB"
default["postgresql"]["max_stack_depth"] = "2MB"
# kernel resource usage
default["postgresql"]["max_files_per_process"] = 1000
default["postgresql"]["shared_preload_libraries"] = ""
# cost-based vacuum delay
default["postgresql"]["vacuum_cost_delay"] = "0ms"
default["postgresql"]["vacuum_cost_page_hit"] = 1
default["postgresql"]["vacuum_cost_page_miss"] = 10
default["postgresql"]["vacuum_cost_page_dirty"] = 20
default["postgresql"]["vacuum_cost_limit"] = 200
# background writer
default["postgresql"]["bgwriter_delay"] = "200ms"
default["postgresql"]["bgwriter_lru_maxpages"] = 100
default["postgresql"]["bgwriter_lru_multiplier"] = 2.0
# asynchronous behavior
default["postgresql"]["effective_io_concurrency"] = 1
#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------
# settings
default["postgresql"]["wal_level"] = "minimal"
default["postgresql"]["fsync"] = "on"
default["postgresql"]["synchronous_commit"] = "on"
default["postgresql"]["wal_sync_method"] = "fsync"
default["postgresql"]["full_page_writes"] = "on"
default["postgresql"]["wal_buffers"] = -1
default["postgresql"]["wal_writer_delay"] = "200ms"
default["postgresql"]["commit_delay"] = 0
default["postgresql"]["commit_siblings"] = 5
# checkpoints
default["postgresql"]["checkpoint_segments"] = 3
default["postgresql"]["checkpoint_timeout"] = "5min"
default["postgresql"]["checkpoint_completion_target"] = 0.5
default["postgresql"]["checkpoint_warning"] = "30s"
# archiving
default["postgresql"]["archive_mode"] = "off"
default["postgresql"]["archive_command"] = ""
default["postgresql"]["archive_timeout"] = 0
#------------------------------------------------------------------------------
# REPLICATION
#------------------------------------------------------------------------------
# master server
default["postgresql"]["max_wal_senders"] = 0
default["postgresql"]["wal_sender_delay"] = "1s"
default["postgresql"]["wal_keep_segments"] = 0
default["postgresql"]["vacuum_defer_cleanup_age"] = 0
default["postgresql"]["replication_timeout"] = "60s"
default["postgresql"]["synchronous_standby_names"] = ""
# standby servers
default["postgresql"]["hot_standby"] = "off"
default["postgresql"]["max_standby_archive_delay"] = "30s"
default["postgresql"]["max_standby_streaming_delay"] = "30s"
default["postgresql"]["wal_receiver_status_interval"] = "10s"
default["postgresql"]["hot_standby_feedback"] = "off"
#------------------------------------------------------------------------------
# QUERY TUNING
#------------------------------------------------------------------------------
# planner method configuration
default["postgresql"]["enable_bitmapscan"] = "on"
default["postgresql"]["enable_hashagg"] = "on"
default["postgresql"]["enable_hashjoin"] = "on"
default["postgresql"]["enable_indexscan"] = "on"
default["postgresql"]["enable_material"] = "on"
default["postgresql"]["enable_mergejoin"] = "on"
default["postgresql"]["enable_nestloop"] = "on"
default["postgresql"]["enable_seqscan"] = "on"
default["postgresql"]["enable_sort"] = "on"
default["postgresql"]["enable_tidscan"] = "on"
# planner cost constants
default["postgresql"]["seq_page_cost"] = 1.0
default["postgresql"]["random_page_cost"] = 4.0
default["postgresql"]["cpu_tuple_cost"] = 0.01
default["postgresql"]["cpu_index_tuple_cost"] = 0.005
default["postgresql"]["cpu_operator_cost"] = 0.0025
default["postgresql"]["effective_cache_size"] = "128MB"
# genetic query optimizer
default["postgresql"]["geqo"] = "on"
default["postgresql"]["geqo_threshold"] = 12
default["postgresql"]["geqo_effort"] = 5
default["postgresql"]["geqo_pool_size"] = 0
default["postgresql"]["geqo_generations"] = 0
default["postgresql"]["geqo_selection_bias"] = 2.0
default["postgresql"]["geqo_seed"] = 0.0
# other planner options
default["postgresql"]["default_statistics_target"] = 100
default["postgresql"]["constraint_exclusion"] = "partition"
default["postgresql"]["cursor_tuple_fraction"] = 0.1
default["postgresql"]["from_collapse_limit"] = 8
default["postgresql"]["join_collapse_limit"] = 8
#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------
# where to log
default["postgresql"]["log_destination"] = "stderr"
default["postgresql"]["logging_collector"] = "off"
default["postgresql"]["log_directory"] = "pg_log"
default["postgresql"]["log_filename"] = "postgresql-%Y-%m-%d_%H%M%S.log"
default["postgresql"]["log_file_mode"] = 0600
default["postgresql"]["log_truncate_on_rotation"] = "off"
default["postgresql"]["log_rotation_age"] = "1d"
default["postgresql"]["log_rotation_size"] = "10MB"
# These are relevant when logging to syslog:
default["postgresql"]["syslog_facility"] = "LOCAL0"
default["postgresql"]["syslog_ident"] = "postgres"
default["postgresql"]["silent_mode"] = "off"
# when to log
default["postgresql"]["client_min_messages"] = "notice"
default["postgresql"]["log_min_messages"] = "warning"
default["postgresql"]["log_min_error_statement"] = "error"
default["postgresql"]["log_min_duration_statement"] = -1
# what to log
default["postgresql"]["debug_print_parse"] = "off"
default["postgresql"]["debug_print_rewritten"] = "off"
default["postgresql"]["debug_print_plan"] = "off"
default["postgresql"]["debug_pretty_print"] = "on"
default["postgresql"]["log_checkpoints"] = "off"
default["postgresql"]["log_connections"] = "off"
default["postgresql"]["log_disconnections"] = "off"
default["postgresql"]["log_duration"] = "off"
default["postgresql"]["log_error_verbosity"] = "default"
default["postgresql"]["log_hostname"] = "off"
default["postgresql"]["log_line_prefix"] = "%t "
default["postgresql"]["log_lock_waits"] = "off"
default["postgresql"]["log_statement"] = "none"
default["postgresql"]["log_temp_files"] = -1
default["postgresql"]["log_timezone"] = "(defaults to server environment setting)"
#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------
# query/index statistics collector
default["postgresql"]["track_activities"] = "on"
default["postgresql"]["track_counts"] = "on"
default["postgresql"]["track_functions"] = "none"
default["postgresql"]["track_activity_query_size"] = 1024
default["postgresql"]["update_process_title"] = "on"
default["postgresql"]["stats_temp_directory"] = 'pg_stat_tmp'
# statistics monitoring
default["postgresql"]["log_parser_stats"] = "off"
default["postgresql"]["log_planner_stats"] = "off"
default["postgresql"]["log_executor_stats"] = "off"
default["postgresql"]["log_statement_stats"] = "off"
#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------
default["postgresql"]["autovacuum"] = "on"
default["postgresql"]["log_autovacuum_min_duration"] = -1
default["postgresql"]["autovacuum_max_workers"] = 3
default["postgresql"]["autovacuum_naptime"] = "1min"
default["postgresql"]["autovacuum_vacuum_threshold"] = 50
default["postgresql"]["autovacuum_analyze_threshold"] = 50
default["postgresql"]["autovacuum_vacuum_scale_factor"] = 0.2
default["postgresql"]["autovacuum_analyze_scale_factor"] = 0.1
default["postgresql"]["autovacuum_freeze_max_age"] = 200000000
default["postgresql"]["autovacuum_vacuum_cost_delay"] = "20ms"
default["postgresql"]["autovacuum_vacuum_cost_limit"] = -1
#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------
# statement behavior
default["postgresql"]["search_path"] = '"$user",public'
default["postgresql"]["default_tablespace"] = ""
default["postgresql"]["temp_tablespaces"] = ""
default["postgresql"]["check_function_bodies"] = "on"
default["postgresql"]["default_transaction_isolation"] = "read committed"
default["postgresql"]["default_transaction_read_only"] = "off"
default["postgresql"]["default_transaction_deferrable"] = "off"
default["postgresql"]["session_replication_role"] = "origin"
default["postgresql"]["statement_timeout"] = 0
default["postgresql"]["vacuum_freeze_min_age"] = 50000000
default["postgresql"]["vacuum_freeze_table_age"] = 150000000
default["postgresql"]["bytea_output"] = "hex"
default["postgresql"]["xmlbinary"] = "base64"
default["postgresql"]["xmloption"] = "content"
# locale and formatting
default["postgresql"]["datestyle"] = "iso, mdy"
default["postgresql"]["intervalstyle"] = "postgres"
default["postgresql"]["timezone"] = "(defaults to server environment setting)"
default["postgresql"]["timezone_abbreviations"] = "Default"
default["postgresql"]["extra_float_digits"] = 0
default["postgresql"]["client_encoding"] = "sql_ascii"
# These settings are initialized by initdb, but they can be changed.
default["postgresql"]["lc_messages"] = "en_US.UTF-8"
default["postgresql"]["lc_monetary"] = "en_US.UTF-8"
default["postgresql"]["lc_numeric"] = "en_US.UTF-8"
default["postgresql"]["lc_time"] = "en_US.UTF-8"
# default configuration for text search
default["postgresql"]["default_text_search_config"] = "pg_catalog.english"
# other defaults
default["postgresql"]["dynamic_library_path"] = "$libdir"
default["postgresql"]["local_preload_libraries"] = ""
#------------------------------------------------------------------------------
# LOCK MANAGEMENT
#------------------------------------------------------------------------------
default["postgresql"]["deadlock_timeout"] = "1s"
default["postgresql"]["max_locks_per_transaction"] = 64
default["postgresql"]["max_pred_locks_per_transaction"] = 64
#------------------------------------------------------------------------------
# VERSION/PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------
# previous postgresql versions
default["postgresql"]["array_nulls"] = "on"
default["postgresql"]["backslash_quote"] = "safe_encoding"
default["postgresql"]["default_with_oids"] = "off"
default["postgresql"]["escape_string_warning"] = "on"
default["postgresql"]["lo_compat_privileges"] = "off"
default["postgresql"]["quote_all_identifiers"] = "off"
default["postgresql"]["sql_inheritance"] = "on"
default["postgresql"]["standard_conforming_strings"] = "on"
default["postgresql"]["synchronize_seqscans"] = "on"
# other platforms and clients
default["postgresql"]["transform_null_equals"] = "off"
#------------------------------------------------------------------------------
# ERROR HANDLING
#------------------------------------------------------------------------------
default["postgresql"]["exit_on_error"] = "off"
default["postgresql"]["restart_after_crash"] = "on"
#------------------------------------------------------------------------------
# USERS AND DATABASES
#------------------------------------------------------------------------------
default["postgresql"]["users"] = []
default["postgresql"]["databases"] = []
#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------
default["postgresql"]["custom_variable_classes"] = ""
Jump to Line
Something went wrong with that request. Please try again.