1 # DO NOT EDIT - This file is being maintained by Chef
 
   3 #------------------------------------------------------------------------------
 
   5 #------------------------------------------------------------------------------
 
   7 data_directory = '/var/lib/postgresql/<%= @version %>/main'
 
   8 hba_file = '/etc/postgresql/<%= @version %>/main/pg_hba.conf'
 
   9 ident_file = '/etc/postgresql/<%= @version %>/main/pg_ident.conf'
 
  10 external_pid_file = '/var/run/postgresql/<%= @version %>-main.pid'
 
  12 #------------------------------------------------------------------------------
 
  13 # CONNECTIONS AND AUTHENTICATION
 
  14 #------------------------------------------------------------------------------
 
  16 # - Connection Settings -
 
  18 <% if @settings[:listen_addresses] || @defaults[:listen_addresses] -%>
 
  19 listen_addresses = '<%= @settings[:listen_addresses] || @defaults[:listen_addresses] %>'
 
  21 port = <%= @settings[:port] || @defaults[:port] %>
 
  22 max_connections = <%= @settings[:max_connections] || @defaults[:max_connections] %>
 
  23 <% if @version.to_f >= 9.3 %>
 
  24 unix_socket_directories = '/var/run/postgresql'
 
  26 unix_socket_directory = '/var/run/postgresql'
 
  29 # - Security and Authentication -
 
  31 ssl = <%= @settings[:ssl] || @defaults[:ssl] %>
 
  32 ssl_renegotiation_limit = 0
 
  34 #------------------------------------------------------------------------------
 
  35 # RESOURCE USAGE (except WAL)
 
  36 #------------------------------------------------------------------------------
 
  40 shared_buffers = <%= @settings[:shared_buffers] || @defaults[:shared_buffers] %>
 
  41 temp_buffers = <%= @settings[:temp_buffers] || @defaults[:temp_buffers] %>
 
  42 work_mem = <%= @settings[:work_mem] || @defaults[:work_mem] %>
 
  43 maintenance_work_mem = <%= @settings[:maintenance_work_mem] || @defaults[:maintenance_work_mem] %>
 
  44 max_stack_depth = <%= @settings[:max_stack_depth] || @defaults[:max_stack_depth] %>
 
  46 # - Asynchronous Behavior -
 
  48 effective_io_concurrency = <%= @settings[:effective_io_concurrency] || @defaults[:effective_io_concurrency] %>
 
  49 max_worker_processes = <%= @settings[:max_worker_processes] || @defaults[:max_worker_processes] %>
 
  50 <% if @version.to_f >= 9.6 -%>
 
  51 max_parallel_workers_per_gather = <%= @settings[:max_parallel_workers_per_gather] || @defaults[:max_parallel_workers_per_gather] %>
 
  53 <% if @version.to_f >= 10 -%>
 
  54 max_parallel_workers = <%= @settings[:max_parallel_workers] || @defaults[:max_parallel_workers] %>
 
  57 #------------------------------------------------------------------------------
 
  59 #------------------------------------------------------------------------------
 
  63 wal_level = <%= @settings[:wal_level] || @defaults[:wal_level] %>
 
  64 fsync = <%= @settings[:fsync] || @defaults[:fsync] %>
 
  65 synchronous_commit = <%= @settings[:synchronous_commit] || @defaults[:synchronous_commit] %>
 
  66 wal_buffers = <%= @settings[:wal_buffers] || @defaults[:wal_buffers] %>
 
  67 wal_writer_delay = <%= @settings[:wal_writer_delay] || @defaults[:wal_writer_delay] %>
 
  68 commit_delay = <%= @settings[:commit_delay] || @defaults[:commit_delay] %>
 
  72 <% if @version.to_f < 9.5 -%>
 
  73 checkpoint_segments = <%= @settings[:checkpoint_segments] || @defaults[:checkpoint_segments] %>
 
  75 checkpoint_timeout = <%= @settings[:checkpoint_timeout] || @defaults[:checkpoint_timeout] %>
 
  76 <% if @version.to_f >= 9.5 -%>
 
  77 max_wal_size = <%= @settings[:max_wal_size] || @defaults[:max_wal_size] %>
 
  78 min_wal_size = <%= @settings[:min_wal_size] || @defaults[:min_wal_size] %>
 
  80 checkpoint_completion_target = <%= @settings[:checkpoint_completion_target] || @defaults[:checkpoint_completion_target] %>
 
  84 archive_mode = <%= @settings[:archive_mode] || @defaults[:archive_mode] %>
 
  85 <% if @settings[:archive_command] || @defaults[:archive_command] -%>
 
  86 archive_command = '<%= @settings[:archive_command] || @defaults[:archive_command] %>'
 
  89 #------------------------------------------------------------------------------
 
  91 #------------------------------------------------------------------------------
 
  93 # - Sending Server(s) -
 
  95 max_wal_senders = <%= @settings[:max_wal_senders] || @defaults[:max_wal_senders] %>
 
  96 <% if @version.to_f >= 9.4 -%>
 
  97 max_replication_slots = <%= @settings[:max_replication_slots] || @defaults[:max_replication_slots] %>
 
 100 # - Standby Servers -
 
 102 hot_standby = <%= @settings[:hot_standby] || @defaults[:hot_standby] %>
 
 103 hot_standby_feedback = <%= @settings[:hot_standby_feedback] || @defaults[:hot_standby_feedback] %>
 
 105 #------------------------------------------------------------------------------
 
 107 #------------------------------------------------------------------------------
 
 109 # - Planner Cost Constants -
 
 111 random_page_cost = <%= @settings[:random_page_cost] || @defaults[:random_page_cost] %>
 
 112 cpu_tuple_cost = <%= @settings[:cpu_tuple_cost] || @defaults[:cpu_tuple_cost] %>
 
 113 effective_cache_size = <%= @settings[:effective_cache_size] || @defaults[:effective_cache_size] %>
 
 115 # - Other Planner Options -
 
 117 default_statistics_target = <%= @settings[:default_statistics_target] || @defaults[:default_statistics_target] %>
 
 118 <% if @version.to_f >= 12 -%>
 
 119 jit = <%= @settings[:jit] || @defaults[:jit] %>
 
 122 #------------------------------------------------------------------------------
 
 123 # REPORTING AND LOGGING
 
 124 #------------------------------------------------------------------------------
 
 128 log_min_duration_statement = <%= @settings[:log_min_duration_statement] || @defaults[:log_min_duration_statement] %>
 
 132 log_line_prefix = '%t '
 
 134 #------------------------------------------------------------------------------
 
 136 #------------------------------------------------------------------------------
 
 138 # - Query/Index Statistics Collector -
 
 140 track_activity_query_size = <%= @settings[:track_activity_query_size] || @defaults[:track_activity_query_size] %>
 
 141 stats_temp_directory = '/run/postgresql/<%= @version %>-main.pg_stat_tmp'
 
 143 #------------------------------------------------------------------------------
 
 144 # AUTOVACUUM PARAMETERS
 
 145 #------------------------------------------------------------------------------
 
 147 log_autovacuum_min_duration = <%= @settings[:log_autovacuum_min_duration] || @defaults[:log_autovacuum_min_duration] %>
 
 148 autovacuum_max_workers = <%= @settings[:autovacuum_max_workers] || @defaults[:autovacuum_max_workers] %>
 
 149 autovacuum_naptime = <%= @settings[:autovacuum_naptime] || @defaults[:autovacuum_naptime] %>
 
 150 autovacuum_vacuum_scale_factor = <%= @settings[:autovacuum_vacuum_scale_factor] || @defaults[:autovacuum_vacuum_scale_factor] %>
 
 151 autovacuum_analyze_scale_factor = <%= @settings[:autovacuum_analyze_scale_factor] || @defaults[:autovacuum_analyze_scale_factor] %>
 
 152 autovacuum_freeze_max_age = <%= @settings[:autovacuum_freeze_max_age] || @defaults[:autovacuum_freeze_max_age] %>
 
 153 autovacuum_multixact_freeze_max_age = <%= @settings[:autovacuum_multixact_freeze_max_age] || @defaults[:autovacuum_multixact_freeze_max_age] %>
 
 155 #------------------------------------------------------------------------------
 
 156 # CLIENT CONNECTION DEFAULTS
 
 157 #------------------------------------------------------------------------------
 
 159 # - Locale and Formatting -
 
 161 datestyle = 'iso, dmy'
 
 162 lc_messages = 'en_GB.UTF-8'
 
 163 lc_monetary = 'en_GB.UTF-8'
 
 164 lc_numeric = 'en_GB.UTF-8'
 
 165 lc_time = 'en_GB.UTF-8'
 
 166 default_text_search_config = 'pg_catalog.english'
 
 168 # - Shared Library Preloading -
 
 170 shared_preload_libraries = '<%= (@settings[:shared_preload_libraries] || @defaults[:shared_preload_libraries]).sort.join(",") %>'
 
 172 #------------------------------------------------------------------------------
 
 174 #------------------------------------------------------------------------------
 
 176 max_locks_per_transaction = <%= @settings[:max_locks_per_transaction] || @defaults[:max_locks_per_transaction] %>
 
 178 #------------------------------------------------------------------------------
 
 180 #------------------------------------------------------------------------------
 
 182 <% Hash(@settings[:customized_options]).sort.each do |name, value| -%>
 
 183 <%= name %> = <%= value %>