Почему может не запускаться autovacuum?

Приветствую
Обратили внимание, что некоторые запросы стали долго выполняться. Полез смотреть - физически база разрослась и автовакуум последний раз запускался пол года назад, а где-то и вообще никогда не запускался. Не могу найти причину, по которой он не запускается. В логах постгри об этом ни слова. При этом на некоторых таблицах соотношение живые-мертвые - тысячи процентов. В самих таблицах параметры автовакуума не переопределены.
posgresql 12.2
конфиг под катом.
spoiler
data_directory = '/var/lib/postgresql/12/main'		# use data in another directory
hba_file = '/etc/postgresql/12/main/pg_hba.conf'	# host-based authentication file
ident_file = '/etc/postgresql/12/main/pg_ident.conf'	# ident configuration file
external_pid_file = '/var/run/postgresql/12-main.pid'			# write an extra PID file
listen_addresses = 'localhost, 10.1.39.3, 94.130.22.252'		# what IP address(es) to listen on;
port = 5432				# (change requires restart)
max_connections = 300			# (change requires restart)
unix_socket_directories = '/var/run/postgresql'	# comma-separated list of directories
ssl = on
ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem'
ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key'
shared_buffers = 2GB			# min 128kb
dynamic_shared_memory_type = posix	# the default is the first option
wal_level = replica			# minimal, replica, or logical
max_wal_size = 1GB
min_wal_size = 80MB
max_wal_senders = 10		# max number of walsender processes
wal_keep_segments = 32		# in logfile segments; 0 disables
max_replication_slots = 10	# max number of replication slots
log_min_duration_statement = 300	# -1 is disabled, 0 logs all statements
log_line_prefix = '%m [%p] %q%u@%d '		# special values:
log_timezone = 'Etc/UTC'
cluster_name = '12/main'			# added to process titles if nonempty
stats_temp_directory = '/var/run/postgresql/12-main.pg_stat_tmp'
autovacuum = on				# Enable autovacuum subprocess?  'on'
autovacuum_vacuum_scale_factor = 0.05	# fraction of table size before vacuum
datestyle = 'iso, mdy'
timezone = 'Etc/UTC'
lc_messages = 'en_US.UTF-8'			# locale for system error message
lc_monetary = 'en_US.UTF-8'			# locale for monetary formatting
lc_numeric = 'en_US.UTF-8'			# locale for number formatting
lc_time = 'en_US.UTF-8'				# locale for time formatting
default_text_search_config = 'pg_catalog.english'
include_dir = 'conf.d'			# include files ending in '.conf' from

select * from pg_settings where name like '%vacuum%';
https://pastebin.com/A5x5zmB2
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
А если ты вручную запустишь вакуум - это влияет на LiveTuples / DeadTuples ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы