Как оптимизировать размер базы данных PostgreSQL

Как оптимизировать размер базы данных PostgreSQL

PostgreSQL's VACUUM command has to process each table on a regular basis for several reasons:

  1. To recover or reuse disk space occupied by updated or deleted rows.

  2. To update data statistics used by the PostgreSQL query planner.

  3. To update the visibility map, which speeds up index-only scans.

  4. To protect against loss of very old data due to transaction ID wraparound or multixact ID wraparound.


Команду также можно выполнять из командной стоки или, как в примере ниже, как часть работы планировщика.

#PostgreSQL DB VACUUM FULL
30 00 * * sun  vacuumdb -U postgres -h localhost -f -a > /apps/tools/bin/logs/vacuum_db.log 2>&1

В качестве примеров полезности периодической чистки - база db_kbox была сокращена у одного из клиентов с 300Gb до 160 
У другого клиента суммарный размер баз сократился с 45Gb до 33Gb. Время работы скрипта - 20 минут. 
    • Related Articles

    • Как отследить запросы с браузера

      Отслеживание консоли запросов на примере отчетов.  Для этого в браузере есть консоль разработчика  WIndows: IE - F12, chrome - Ctrl + Shift + I Mac: chrome - alt + Cmd + I 1. Открыть отчет 2. Открыть консоль (на пример хрома) 3. перейти на вкладку ...
    • Security model in Whereoil

      При использовании фильтров записей (роли) на основе PROPERTIES очень удобно оказалась возможность указывать название группы доступа из возможных вариантов kmeta:Ent Если в классе данных nsp есть записи rec1 - prop1 prop2 kmeta:Ent=g1,g2  rec2 - prop1 ...