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

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

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.

Полезные материалы
Рекомендуем