diff --git a/roles/postgres/files/upgrade_pg.sh b/roles/postgres/files/upgrade_pg.sh index 57790d3359a072a8012de7398e83d7fea7c6ff09..0662285544687b769720111d49ed1eb171645647 100755 --- a/roles/postgres/files/upgrade_pg.sh +++ b/roles/postgres/files/upgrade_pg.sh @@ -5,7 +5,7 @@ set -e TO_VERSION=$(pacman -Q postgresql | grep -Po '(?<=postgresql )[0-9]+\.[0-9]') to_major=${TO_VERSION%%.*} -if (( $to_major != 15 )); then +if (( $to_major != 16 )); then # NOTE: When this happens you should check the changelog and add any # necessary changes here. Then bump the version check. echo "ERROR: major upgrade detected, aborting..." diff --git a/roles/postgres/templates/postgresql.conf.j2 b/roles/postgres/templates/postgresql.conf.j2 index 843f8070e7d543c032d4986663417f3151a24bbf..d7b5c42c132d7aaac6579783d1976eeaaa74dc7c 100644 --- a/roles/postgres/templates/postgresql.conf.j2 +++ b/roles/postgres/templates/postgresql.conf.j2 @@ -63,6 +63,7 @@ listen_addresses = '{{ postgres_listen_addresses }}' # what IP address(es) to l # (change requires restart) #port = 5432 # (change requires restart) max_connections = {{ postgres_max_connections }} # (change requires restart) +#reserved_connections = 0 # (change requires restart) #superuser_reserved_connections = 3 # (change requires restart) #unix_socket_directories = '/run/postgresql' # comma-separated list of directories # (change requires restart) @@ -94,11 +95,13 @@ max_connections = {{ postgres_max_connections }} # (change requires restart) #authentication_timeout = 1min # 1s-600s #password_encryption = scram-sha-256 # scram-sha-256 or md5 +#scram_iterations = 4096 #db_user_namespace = off # GSSAPI using Kerberos #krb_server_keyfile = 'FILE:${sysconfdir}/krb5.keytab' #krb_caseins_users = off +#gss_accept_delegation = off # - SSL - @@ -147,7 +150,7 @@ maintenance_work_mem = {{ postgres_maintenance_work_mem }} # min 1MB # sysv # windows # (change requires restart) -dynamic_shared_memory_type = posix # the default is usually the first option +#dynamic_shared_memory_type = posix # the default is usually the first option # supported by the operating system: # posix # sysv @@ -155,6 +158,9 @@ dynamic_shared_memory_type = posix # the default is usually the first option # mmap # (change requires restart) #min_dynamic_shared_memory = 0MB # (change requires restart) +#vacuum_buffer_usage_limit = 256kB # size of vacuum and analyze buffer access strategy ring; + # 0 to disable vacuum buffer access strategy; + # range 128kB to 16GB # - Disk - @@ -179,7 +185,7 @@ dynamic_shared_memory_type = posix # the default is usually the first option #bgwriter_delay = 200ms # 10-10000ms between rounds #bgwriter_lru_maxpages = 100 # max buffers written/round, 0 disables #bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round -#bgwriter_flush_after = 512kB # measured in pages, 0 disables +#bgwriter_flush_after = 0 # measured in pages, 0 disables # - Asynchronous Behavior - @@ -236,10 +242,10 @@ dynamic_shared_memory_type = posix # the default is usually the first option #checkpoint_timeout = 5min # range 30s-1d #checkpoint_completion_target = 0.9 # checkpoint target duration, 0.0 - 1.0 -#checkpoint_flush_after = 256kB # measured in pages, 0 disables +#checkpoint_flush_after = 0 # measured in pages, 0 disables #checkpoint_warning = 30s # 0 disables -max_wal_size = 1GB -min_wal_size = 80MB +#max_wal_size = 1GB +#min_wal_size = 80MB # - Prefetching during recovery - @@ -251,21 +257,21 @@ min_wal_size = 80MB #archive_mode = off # enables archiving; off, on, or always # (change requires restart) -#archive_library = '' # library to use to archive a logfile segment +#archive_library = '' # library to use to archive a WAL file # (empty string indicates archive_command should # be used) -#archive_command = '' # command to use to archive a logfile segment +#archive_command = '' # command to use to archive a WAL file # placeholders: %p = path of file to archive # %f = file name only # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f' -#archive_timeout = 0 # force a logfile segment switch after this +#archive_timeout = 0 # force a WAL file switch after this # number of seconds; 0 disables # - Archive Recovery - # These are only used in recovery mode. -#restore_command = '' # command to use to restore an archived logfile segment +#restore_command = '' # command to use to restore an archived WAL file # placeholders: %p = path of file to restore # %f = file name only # e.g. 'cp /mnt/server/archivedir/%f %p' @@ -323,7 +329,6 @@ min_wal_size = 80MB # method to choose sync standbys, number of sync standbys, # and comma-separated list of application_name # from standby(s); '*' = all -#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed # - Standby Servers - @@ -331,7 +336,6 @@ min_wal_size = 80MB #primary_conninfo = '' # connection string to sending server #primary_slot_name = '' # replication slot on sending server -#promote_trigger_file = '' # file name whose presence ends recovery #hot_standby = on # "off" disallows queries during recovery # (change requires restart) #max_standby_archive_delay = 30s # max delay before canceling queries @@ -360,6 +364,7 @@ min_wal_size = 80MB #max_logical_replication_workers = 4 # taken from max_worker_processes # (change requires restart) #max_sync_workers_per_subscription = 2 # taken from max_logical_replication_workers +#max_parallel_apply_workers_per_subscription = 2 # taken from max_logical_replication_workers #------------------------------------------------------------------------------ @@ -385,6 +390,7 @@ min_wal_size = 80MB #enable_partition_pruning = on #enable_partitionwise_join = off #enable_partitionwise_aggregate = off +#enable_presorted_aggregate = on #enable_seqscan = on #enable_sort = on #enable_tidscan = on @@ -596,10 +602,7 @@ log_line_prefix = '%d: ' # special values: # -1 disables, 0 logs all temp files log_timezone = 'UTC' - -#------------------------------------------------------------------------------ -# PROCESS TITLE -#------------------------------------------------------------------------------ +# - Process Title - #cluster_name = '' # added to process titles if nonempty # (change requires restart) @@ -618,7 +621,7 @@ log_timezone = 'UTC' #track_io_timing = off #track_wal_io_timing = off #track_functions = none # none, pl, all -#stats_fetch_consistency = cache +#stats_fetch_consistency = cache # cache, none, snapshot # - Monitoring - @@ -705,10 +708,11 @@ log_timezone = 'UTC' #xmlbinary = 'base64' #xmloption = 'content' #gin_pending_list_limit = 4MB +#createrole_self_grant = '' # set and/or inherit # - Locale and Formatting - -datestyle = 'iso, mdy' +#datestyle = 'iso, mdy' #intervalstyle = 'postgres' timezone = 'UTC' #timezone_abbreviations = 'Default' # Select the set of available time zone @@ -730,6 +734,9 @@ lc_monetary = 'C.UTF-8' # locale for monetary formatting lc_numeric = 'C.UTF-8' # locale for number formatting lc_time = 'C.UTF-8' # locale for time formatting +#icu_validation_level = warning # report ICU locale validation + # errors at the given level + # default configuration for text search default_text_search_config = 'pg_catalog.english'