Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
ERR_PG_DISK_FULL Linux / DevOps

PostgreSQL упал: No space left on device — расширение LVM диска

Обновлено: 27.08.2026  ·  Официальная база знаний

Симптомы критической нехватки места в PostgreSQL

СУБД PostgreSQL аварийно останавливается, в логах появляется запись PANIC: could not write to log file: No space left on device, а попытка подключиться через psql выдает ошибку сокета.

Диагностика дискового пространства

df -hT /var/lib/postgresql

Если столбец Use% показывает 100%, база заблокирована операционной системой от повреждения транзакций.

Экстренное расширение LVM раздела без перезагрузки

  1. Проверяем свободное место в Volume Group (VG):
    sudo vgs
  2. Увеличиваем размер логического тома на 20 ГБ:
    sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv

    (Или используйте все доступное свободное пространство: sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv).

  3. Расширяем саму файловую систему (ext4) на лету:
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

    (Если используется файловая система XFS, команда: sudo xfs_growfs /).

  4. Запускаем СУБД PostgreSQL заново:
    sudo systemctl start postgresql
    sudo systemctl status postgresql

Если LVM не настроен, временно удалите старые сжатые системные журналы: sudo rm -f /var/log/*.gz /var/log/journal/*, чтобы освободить место для старта службы.

Практический опыт инженера: Если диск переполнен на 100%, Postgres переходит в режим Read-Only. После расширения файловой системы обязательно проверьте статус репликации и WAL-архивов.

Частые вопросы (FAQ)

Нужно ли останавливать PostgreSQL перед командой resize2fs?

Нет, файловая система ext4 и утилита resize2fs поддерживают безопасное онлайн-расширение без остановки служб.

Почему нельзя удалять файлы из папки pg_wal вручную?

Удаление файлов WAL вручную приведет к разрушению целостности базы данных. Освобождайте место в других системных папках.

Как узнать, какая папка сожрала все место?

Используйте утилиту ncdu: sudo apt install ncdu -y && sudo ncdu /

Как настроить автоочистку временных таблиц в Postgres?

Проверьте работу процесса autovacuum в файле postgresql.conf.