Skip to content

Commit

Permalink
puppet: Add Zulip specific postgres configuration for 10.
Browse files Browse the repository at this point in the history
Mostly, this involves adding the big block at the bottom and making
10 a variable so that it's easier to compare different versions of
these.

I did an audit of the configuration changes between 9.6 and 10, so
this should be fine, but it hasn't been tested yet.
  • Loading branch information
timabbott committed May 5, 2018
1 parent 964a1ac commit a03e478
Showing 1 changed file with 64 additions and 6 deletions.
70 changes: 64 additions & 6 deletions puppet/zulip/templates/postgresql/10/postgresql.conf.template.erb
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@
# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.

data_directory = '/var/lib/postgresql/10/main' # use data in another directory
data_directory = '/var/lib/postgresql/<%= scope["zulip::base::postgres_version"] %>/main' # use data in another directory
# (change requires restart)
hba_file = '/etc/postgresql/10/main/pg_hba.conf' # host-based authentication file
hba_file = '/etc/postgresql/<%= scope["zulip::base::postgres_version"] %>/main/pg_hba.conf' # host-based authentication file
# (change requires restart)
ident_file = '/etc/postgresql/10/main/pg_ident.conf' # ident configuration file
ident_file = '/etc/postgresql/<%= scope["zulip::base::postgres_version"] %>/main/pg_ident.conf' # ident configuration file
# (change requires restart)

# If external_pid_file is not explicitly set, no extra PID file is written.
external_pid_file = '/var/run/postgresql/10-main.pid' # write an extra PID file
external_pid_file = '/var/run/postgresql/<%= scope["zulip::base::postgres_version"] %>-main.pid' # write an extra PID file
# (change requires restart)


Expand Down Expand Up @@ -474,7 +474,7 @@ log_timezone = 'UTC'
# - Process Title -
cluster_name = '10/main' # added to process titles if nonempty
cluster_name = '<%= scope["zulip::base::postgres_version"] %>/main' # added to process titles if nonempty
# (change requires restart)
#update_process_title = on

Expand All @@ -490,7 +490,7 @@ cluster_name = '10/main' # added to process titles if nonempty
#track_io_timing = off
#track_functions = none # none, pl, all
#track_activity_query_size = 1024 # (change requires restart)
stats_temp_directory = '/var/run/postgresql/10-main.pg_stat_tmp'
stats_temp_directory = '/var/run/postgresql/<%= scope["zulip::base::postgres_version"] %>-main.pg_stat_tmp'


# - Statistics Monitoring -
Expand Down Expand Up @@ -656,3 +656,61 @@ include_dir = 'conf.d' # include files ending in '.conf' from
#------------------------------------------------------------------------------

# Add settings for extensions here
timezone = 'UTC'
default_text_search_config = 'zulip.english_us_search'

log_destination = 'stderr'
logging_collector = on
log_directory = '/var/log/postgresql'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 7d
log_rotation_size = 100MB
log_min_duration_statement = 500
log_line_prefix = '%m [%c]: [%l-1] '
log_checkpoints = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 100

autovacuum_freeze_max_age = 2000000000
vacuum_freeze_min_age = 1000000000
vacuum_freeze_table_age = 1800000000

# Performance settings
maintenance_work_mem = <%= scope["zulip::postgres_appdb_tuned::maintenance_work_mem"] %>MB
effective_cache_size = <%= scope["zulip::postgres_appdb_tuned::effective_cache_size"] %>MB
work_mem = <%= scope["zulip::postgres_appdb_tuned::work_mem"] %>MB
shared_buffers = <%= scope["zulip::postgres_appdb_tuned::shared_buffers"] %>MB
wal_buffers = 4MB
checkpoint_completion_target = 0.7
<% if @random_page_cost != '' -%>
random_page_cost = <%= @random_page_cost %>
<% end -%>
<% if @effective_io_concurrency != '' -%>
effective_io_concurrency = <%= @effective_io_concurrency %>
<% end -%>
<% if @listen_addresses != '' -%>
listen_addresses = <%= @listen_addresses %>
<% end -%>
<% if @replication != '' -%>
# Master replication settings (ignored on standby)
wal_level = hot_standby
max_wal_senders = 5
archive_mode = on
archive_command = '/usr/local/bin/env-wal-e wal-push %p'

# Standby replication settings (ignored on master)
hot_standby = on
<% end -%>
<% if @ssl_cert_file != '' -%>
ssl_cert_file = '<%= @ssl_cert_file %>' # (change requires restart)
<% end -%>
<% if @ssl_key_file != '' -%>
ssl_key_file = '<%= @ssl_key_file %>' # (change requires restart)
<% end -%>
<% if @ssl_ca_file != '' -%>
ssl_ca_file = '<%= @ssl_ca_file %>' # (change requires restart)
<% end -%>

0 comments on commit a03e478

Please sign in to comment.