Postgresql |Не осталось свободного места на устройстве - PullRequest
0 голосов
/ 13 июня 2018

У меня проблема с пространством при выполнении пакетного процесса в базе данных PostgreSQL.

Однако команда df -h показывает, что на машине достаточно места

enter image description here

ниже приведена точная ошибка

org.springframework.dao.DataAccessResourceFailureException: PreparedStatementCallback; SQL [INSERT into BATCH_JOB_INSTANCE(JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION) values (?, ?, ?, ?)]; ERROR: could not extend file "base/16388/16452": No space left on device
  Hint: Check free disk space.

Что вызывает эту проблему?

РЕДАКТИРОВАТЬ

каталог данных postgres /var/opt/rh/rh-postgresql96/lib/pgsql/data

df -h /var/opt/rh/rh-postgresql96/lib/pgsql/data
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda2      100G   63G   38G  63% /

Ответы [ 2 ]

0 голосов
/ 15 июля 2019

Попробуйте использовать лимит (например, 100) для огромных записей, например:

select .... from table .... limit (100);
0 голосов
/ 13 июня 2018

Скорее всего, есть некоторые запросы, которые создают большие временные файлы, которые временно заполняют ваш жесткий диск.Эти файлы будут удалены, как только запрос будет выполнен (или не выполнен), поэтому файловая система имеет достаточно свободного места при просмотре.

Установите log_temp_files = 10240 в postgresql.conf (и перезагрузите) для входавсе временные файлы, размер которых превышает 10 МБ, вы можете проверить файл журнала, чтобы выяснить, действительно ли это является причиной.

Попробуйте идентифицировать ошибочные запросы и исправить их.

Если временных файлов нетпроблема, может быть временные таблицы.Они удаляются автоматически, когда сеанс базы данных заканчивается.Использует ли ваше приложение временные таблицы?

Другой возможностью могут быть файлы, созданные чем-то другим, чем база данных.

...