Browse Source

Added new sql script for checking PostgreSQL configuration over pg_settings view.

pull/5/head
Andrey-Salnikov 8 years ago
parent
commit
c105ee06f5
  1. 68
      sql/check_config.sql

68
sql/check_config.sql

@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
/* This query is used for getting non default configuration parameters in PostgreSQL.
For user/client sessions you can see modified parameters, but reset_val will contain value from configuration file (I hope).
If you see (*) before config name it means that parameter has default value.
If you see (c) after config name it means that parameter was changed for client session or by another reason (database, user, etc).
If you see !!! after config name it means that parameter were changed in file but still not apllied.
All fields in report are aligned by width for simplifying a compare procedures.
*/
with icp (name) as (
values ('listen_addresses'), ('max_connections'), ('superuser_reserved_connections'), ('shared_buffers')
, ('work_mem'), ('maintenance_work_mem'), ('shared_preload_libraries'), ('vacuum_cost_delay')
, ('vacuum_cost_page_hit'), ('vacuum_cost_page_miss'), ('vacuum_cost_page_dirty'), ('vacuum_cost_limit')
, ('bgwriter_delay'), ('bgwriter_lru_maxpages'), ('bgwriter_lru_multiplier'), ('effective_io_concurrency')
, ('max_worker_processes'), ('wal_level'), ('synchronous_commit'), ('checkpoint_timeout')
, ('min_wal_size'), ('max_wal_size'), ('checkpoint_completion_target'), ('max_wal_senders')
, ('hot_standby'), ('max_standby_streaming_delay'), ('hot_standby_feedback'), ('effective_cache_size')
, ('log_directory'), ('log_filename'), ('log_min_duration_statement'), ('log_checkpoints')
, ('log_line_prefix'), ('log_lock_waits'), ('log_replication_commands'), ('log_temp_files')
, ('track_io_timing'), ('track_functions'), ('track_activity_query_size'), ('log_autovacuum_min_duration')
, ('autovacuum_max_workers'), ('autovacuum_naptime'), ('autovacuum_vacuum_threshold')
, ('autovacuum_analyze_threshold'), ('autovacuum_vacuum_scale_factor'), ('autovacuum_analyze_scale_factor')
, ('autovacuum_vacuum_cost_delay'), ('vacuum_freeze_min_age'), ('vacuum_freeze_table_age')
, ('pg_stat_statements.max'), ('pg_stat_statements.track')
, ('pg_stat_statements.track_utility'), ('pg_stat_statements.save')
)
select rpad (case when source in ('default', 'override') then '(*) ' else ' ' end ||
rpad (name, 35) ||
case when setting != reset_val then ' (c)' else '' end ||
case when pending_restart then ' !!!' else '' end
, 47) as name
, rpad (case when (unit = '8kB' and setting != '-1') then pg_size_pretty (setting::bigint * 8192)
when (unit = 'kB' and setting != '-1') then pg_size_pretty (setting::bigint * 1024)
else setting end, 25) as setting
, rpad (case when unit in ('8kB', 'kB') then 'byte' else unit end, 4) as unit
, rpad (case when (unit = '8kB' and reset_val != '-1') then pg_size_pretty (reset_val::bigint * 8192)
when (unit = 'kB' and reset_val != '-1') then pg_size_pretty (reset_val::bigint * 1024)
else reset_val end, 25) as reset_val
, rpad (case when (unit = '8kB' and boot_val != '-1') then pg_size_pretty (boot_val::bigint * 8192)
when (unit = 'kB' and boot_val != '-1') then pg_size_pretty (boot_val::bigint * 1024)
else boot_val end, 25) as boot_val
, rpad (case source
when 'environment variable' then 'env'
when 'configuration file' then '.conf'
when 'configuration file' then '.conf'
else source
end
, 13) as source
--, sourcefile
from pg_settings
where (sourcefile is not null
or pending_restart
or setting != boot_val
or reset_val != boot_val
or exists (select 1 from icp where icp.name = pg_settings.name)
or source not in ('default', 'override'))
and (name, setting) not in ( ('log_filename', 'postgresql-%Y-%m-%d.log')
, ('log_checkpoints', 'on')
, ('logging_collector', 'on')
, ('log_line_prefix', '%m %p %u@%d from %h [vxid:%v txid:%x] [%i] ')
, ('log_replication_commands', 'on')
, ('log_destination', 'stderr')
, ('log_file_mode', '0600')
, ('unix_socket_permissions', '0777')
, ('transaction_read_only', 'on')
, ('transaction_read_only', 'off')
, ('application_name', 'psql')
, ('archive_command', '(disabled)')
)
order by category, name;
Loading…
Cancel
Save