powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / не завершающийся "autovacuum: VACUUM propose_day_2020 (to prevent wraparound)"
5 сообщений из 5, страница 1 из 1
не завершающийся "autovacuum: VACUUM propose_day_2020 (to prevent wraparound)"
    #39994413
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружил в активных запросах pg_stat_activity следующую запись
Код: sql
1.
autovacuum: VACUUM private.propose_day_2020 (to prevent wraparound)

.
Выполняется слишком долго (сутки). После отмены pg_cancel_backend автоматически перезапускается.
select * from pg_stat_progress_vacuum
Код: plaintext
1.
2.
pid    |datid|datname|relid |phase            |heap_blks_total|heap_blks_scanned|heap_blks_vacuumed|index_vacuum_count|max_dead_tuples|num_dead_tuples
-------|-----|-------|------|-----------------|---------------|-----------------|------------------|------------------|---------------|---------------
3520920|16435|morion |138291|vacuuming indexes|       67949167|         67949167|                 0|                 0|      178956970|         117750

Статистика по таблице
Код: plaintext
1.
2.
3.
relid |schemaname|relname         |seq_scan|seq_tup_read|idx_scan|idx_tup_fetch|n_tup_ins |n_tup_upd|n_tup_del|n_tup_hot_upd|n_live_tup|n_dead_tup|n_mod_since_analyze|last_vacuum        |last_autovacuum    |last_analyze       |last_autoanalyze|vacuum_count|autovacuum_count|analyze_count|autoanalyze_count
------|----------|----------------|--------|------------|--------|-------------|----------|---------|---------|-------------|----------|----------|-------------------|-------------------|-------------------|-------------------|----------------|------------|----------------|-------------|-----------------
138291|private   |propose_day_2020|      10|  3876070393|10112183|  15431128048|1059847953|        0|   302831|            0|3873482005|         0|            7174403|2020-08-15 14:12:05|2020-08-06 23:47:02|2020-08-31 20:46:33|                |           6|               5|            4|                0

эта таблица является секцией, объем которой 1.2Т. Ежедневно в нее заливаются данные и читаются.
В БД автовакуум отключен, я еженедельно вручную запускал вакуум на выходных. Видимо, этого оказалось не достаточно.

В аналогичной секции другой таблицы такой-же процесс (to prevent wraparound) отработал полностью.
В логах не вижу ничего критичного связанного с вакуумоми или этой секцией/таблицей.

Исходя из прочитанного, я понял что это и-за отключенного автовакуума привентивное предотвращение переполнения счетчика транзакций.

Чем это грозит? Что делать в таких случаях подскажите
...
Рейтинг: 0 / 0
не завершающийся "autovacuum: VACUUM propose_day_2020 (to prevent wraparound)"
    #39994419
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DSKalugin
Обнаружил в активных запросах pg_stat_activity следующую запись
эта таблица является секцией, объем которой 1.2Т. Ежедневно в нее заливаются данные и читаются.
В БД автовакуум отключен, я еженедельно вручную запускал вакуум на выходных. Видимо, этого оказалось не достаточно.

В аналогичной секции другой таблицы такой-же процесс (to prevent wraparound) отработал полностью.
В логах не вижу ничего критичного связанного с вакуумоми или этой секцией/таблицей.

Исходя из прочитанного, я понял что это и-за отключенного автовакуума привентивное предотвращение переполнения счетчика транзакций.

Чем это грозит? Что делать в таких случаях подскажите


Дать доработать... настроить autovacuum более аггресивно чтобы он быстрее диском ворочал... 1.2TB это не быстро может быть даже на очень хорошем оборудовании...
Чревато - полной остановкой базы в single user пока руками этот vacuum freeze по всей базе не сделаете.

ps: "В БД автовакуум отключен, я еженедельно вручную запускал вакуум на выходных." - уж сколько раз твердили миру что так делать не надо а тем более на вашем уровне (иначе бы вы тут эти вопросы не задавали).
...
Рейтинг: 0 / 0
не завершающийся "autovacuum: VACUUM propose_day_2020 (to prevent wraparound)"
    #39994434
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
настроить autovacuum более аггресивно чтобы он быстрее диском ворочал...

если не затруднит, подскажите какими параметрами/значениями это решается.
Pg ver 11, autovacuum включу. Спасибо.
pg_settings под спойлером

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
name                               |setting  |unit
-----------------------------------|---------|----
autovacuum                         |off      |    
autovacuum_analyze_scale_factor    |0.1      |    
autovacuum_analyze_threshold       |50       |    
autovacuum_freeze_max_age          |200000000|    
autovacuum_max_workers             |3        |    
autovacuum_multixact_freeze_max_age|400000000|    
autovacuum_naptime                 |60       |s   
autovacuum_vacuum_cost_delay       |20       |ms  
autovacuum_vacuum_cost_limit       |-1       |    
autovacuum_vacuum_scale_factor     |0.2      |    
autovacuum_vacuum_threshold        |50       |    
vacuum_cleanup_index_scale_factor  |0.1      |    
vacuum_freeze_min_age              |50000000 |    
vacuum_freeze_table_age            |150000000|    
vacuum_multixact_freeze_min_age    |5000000  |    
vacuum_multixact_freeze_table_age  |150000000|    
max_connections                    |100      |    
default_statistics_target          |500      |    
effective_cache_size               |6094848  |8kB 
random_page_cost                   |1.5      |    
vacuum_defer_cleanup_age           |0        |    
log_autovacuum_min_duration        |-1       |ms  
effective_io_concurrency           |2        |    
max_parallel_workers               |32       |    
max_parallel_workers_per_gather    |4        |    
max_worker_processes               |32       |    
vacuum_cost_delay                  |0        |ms  
vacuum_cost_limit                  |200      |    
vacuum_cost_page_dirty             |20       |    
vacuum_cost_page_hit               |1        |    
vacuum_cost_page_miss              |10       |    
autovacuum_work_mem                |-1       |kB  
maintenance_work_mem               |2097152  |kB  
shared_buffers                     |2031616  |8kB 
temp_buffers                       |32768    |8kB 
work_mem                           |40632    |kB  
checkpoint_completion_target       |0.9      |    
max_wal_size                       |8192     |MB  
min_wal_size                       |2048     |MB  
synchronous_commit                 |on       |    
wal_buffers                        |2048     |8kB 
...
Рейтинг: 0 / 0
не завершающийся "autovacuum: VACUUM propose_day_2020 (to prevent wraparound)"
    #39994446
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DSKalugin,

Ну если в лоб и по максимуму то
autovacuum_vacuum_cost_delay = 0
главное чтобы дисков хватило

если дисков не хватает то от 0 до 20 подбирайте (но будет пропорционально медленнее)

и скорее всего я бы autovacuum_max_workers = 8 (или 10) поставил бы
наверное для начала этого хватит


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
не завершающийся "autovacuum: VACUUM propose_day_2020 (to prevent wraparound)"
    #39994447
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DSKalugin
Maxim Boguk
настроить autovacuum более аггресивно чтобы он быстрее диском ворочал...

если не затруднит, подскажите какими параметрами/значениями это решается.
Pg ver 11, autovacuum включу. Спасибо.
pg_settings под спойлером

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
name                               |setting  |unit
-----------------------------------|---------|----
autovacuum                         |off      |    
autovacuum_analyze_scale_factor    |0.1      |    
autovacuum_analyze_threshold       |50       |    
autovacuum_freeze_max_age          |200000000|    
autovacuum_max_workers             |3        |    
autovacuum_multixact_freeze_max_age|400000000|    
autovacuum_naptime                 |60       |s   
autovacuum_vacuum_cost_delay       |20       |ms  
autovacuum_vacuum_cost_limit       |-1       |    
autovacuum_vacuum_scale_factor     |0.2      |    
autovacuum_vacuum_threshold        |50       |    
vacuum_cleanup_index_scale_factor  |0.1      |    
vacuum_freeze_min_age              |50000000 |    
vacuum_freeze_table_age            |150000000|    
vacuum_multixact_freeze_min_age    |5000000  |    
vacuum_multixact_freeze_table_age  |150000000|    
max_connections                    |100      |    
default_statistics_target          |500      |    
effective_cache_size               |6094848  |8kB 
random_page_cost                   |1.5      |    
vacuum_defer_cleanup_age           |0        |    
log_autovacuum_min_duration        |-1       |ms  
effective_io_concurrency           |2        |    
max_parallel_workers               |32       |    
max_parallel_workers_per_gather    |4        |    
max_worker_processes               |32       |    
vacuum_cost_delay                  |0        |ms  
vacuum_cost_limit                  |200      |    
vacuum_cost_page_dirty             |20       |    
vacuum_cost_page_hit               |1        |    
vacuum_cost_page_miss              |10       |    
autovacuum_work_mem                |-1       |kB  
maintenance_work_mem               |2097152  |kB  
shared_buffers                     |2031616  |8kB 
temp_buffers                       |32768    |8kB 
work_mem                           |40632    |kB  
checkpoint_completion_target       |0.9      |    
max_wal_size                       |8192     |MB  
min_wal_size                       |2048     |MB  
synchronous_commit                 |on       |    
wal_buffers                        |2048     |8kB 

- почитать ,
- подумать
- ...
- получить профит
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / не завершающийся "autovacuum: VACUUM propose_day_2020 (to prevent wraparound)"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]