Начало » Использование СУБД » PostgreSQL »  Перестает работать autovacuum, даже при отключении autovacuum_vacuum_cost_delay  
	
		
		
			    Перестает работать autovacuum, даже при отключении autovacuum_vacuum_cost_delay [сообщение #3185] | 
			Wed, 27 September 2023 15:32   | 
		 
		
			
				
				
				
					
						  
						xpg934
						 Сообщений: 3 Зарегистрирован: September 2023 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		Коллеги, помогите разобраться - куда дальше копать. 
У нас огромные базы (10+ Tb, разбитые на базы по 100-500Gb). 
В части баз есть таблицы с постоянными update, т.е. dead tupples плодятся безбожно. 
И всё бы хорошо, пока работает autovacuum и дополнительно ночью ещё проходимся ручным vacuum (analyze, skip_locked) для таблиц, где dead_tupples > 5%. 
 
Сначала всё уперолось (по ощущениям) в дефолтный cost-based autovacuum - воркеры просто не запускаются после какого-то периода, и могут не работать 1-2 суток. Вчера отключили это, поставив autovacuum_vacuum_cost_delay = 0. Проблема сразу решилась, autovacuum стал работать четко 1 раз в минуту, согласно указанного autovacuum_naptime. 
 
Но вдруг это всё остановилось. Воркеры autovacuum перестали опять запускаться, dead tupples плодятся, что приводит к выборке по 100мс из таблицы, где всего 23 записи. 
 
Что смотреть? Почему оно опять перестало работать? Что проверить? 
 
Настройки кластера примерно такие: 
 
autovacuum = on 
log_autovacuum_min_duration = 1000 
 
autovacuum_max_workers = 4 
autovacuum_naptime = 1min 
autovacuum_vacuum_threshold = 50 
autovacuum_analyze_threshold = 50 
autovacuum_vacuum_scale_factor = 0.10 
autovacuum_analyze_scale_factor = 0.05 
 
autovacuum_vacuum_cost_delay = 0 
autovacuum_vacuum_cost_limit = 1000 
 
Ошибок в логе кластера - нет. 
 
 
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
  
 
Переход к форуму:
 
 Текущее время: Tue Nov 04 16:01:19 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01352 секунд 
 |