После обновления PostgreSQL c 9 на 10 версию, я заметил странное - ресурс SSD (хост-записи) начал резко уменьшаться. На рабочих SSD это было не заметно и я бы не обратил внимание, но там где находятся тестовые базы, счетчик хост-записей показывал запись от 3 до 9 ГБайт в день. Что было более чем странно. В принципе для SSD это не нагрузка, но...
Анализ показал, что виновник - сборщик статистики PostgreSQL. Настройки (кроме памяти) я использую стандартно-рекомендованные. Статистику PostgreSQL пишет в каталоги pg_stat, pg_stat_tmp. Файлы там обновляются очень часто.
Выход довольно прост - перенести эти каталоги на HDD или Memory Disk. В принципе на сервере памяти хватает и 0,25 ГБайта не жалко.
Диск можно создать любым приложением, я использую - imdisk. Вызывать можно из планировщика или сделать отдельный скрипт для старта PostgreSQL.
imdisk -a -s 250M -m M: -p "/fs:NTFS /V:MemDisk /q /y"
m:
mkdir pg_stat_tmp
В postgresql.conf нужно дописать:
#stats_temp_directory = 'pg_stat_tmp'
stats_temp_directory = 'M:\pg_stat_tmp'
Если PostgreSQL стартанет до того, как будет инициализирован Memory Disk, то статистика пойдет в каталоги "по умолчанию".
По моим наблюдениям, каталог со статистикой не растет дальше определенного размера и зависит от количества баз \ таблиц. После переноса файлов статистики, количество хост-записей упало до 1 Гбайта в день - что больше похоже на правду.