PSQL: ОШИБКА: не удалось расширить файл На устройстве не осталось места СОВЕТ: проверьте свободное место на диске

Я впервые работаю с собственным выделенным сервером, и у меня возникает проблема, когда я пытаюсь перенести большой (10 ГБ, миллионы строк) файл резервной копии postgresql в новую таблицу. Запуск ubuntu 18.04 LTS.

Я установил postgresql с помощью apt-get, затем вошел в систему как root и создал базу данных.

Затем я запустил

sudo -u postgres psql mytable в / root

appart из-за ошибки отсутствующей роли он начал работать до тех пор, пока я не начал получать такие ошибки, как:

ERROR:  could not extend file "base/16384/16472.4": wrote only 4096 of 
8192 bytes at block 635129
HINT:  Check free disk space.
CONTEXT:  COPY stock_prices, line 28568936
ERROR:  could not extend file "base/16384/16480": No space left on device
HINT:  Check free disk space.
CONTEXT:  COPY stocks, line 99

он продолжал работать «нормально» после этого:

     ...
    setval
    ---------
    1864218
    (1 row)

    setval
    ---------
    1356711
    (1 row)

    setval
    --------
    478761
    (1 row)
     ...

, пока не превратился в набор:

ERROR:  could not create temporary file "base/pgsql_tmp/pgsql_tmp3458.0": No such file or directory
ERROR:  could not extend file "base/16384/16503": No space left on device

my файловая система выглядит так:

    Filesystem      Size  Used Avail Use% Mounted on
    udev             16G     0   16G   0% /dev
    tmpfs           3.2G 1000K  3.2G   1% /run
    /dev/md2         20G   12G  6.2G  67% /
    tmpfs            16G  8.0K   16G   1% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs            16G     0   16G   0% /sys/fs/cgroup
    /dev/md3        420G  9.3G  390G   3% /home
    /dev/md1        487M  146M  312M  32% /boot
    tmpfs           3.2G     0  3.2G   0% /run/user/0

Прочитав несколько связанных вопросов, некоторые люди говорят, что существует проблема в разделах сервера здесь , другие говорят, что нужно увеличить размер корневого раздела, кроме того, что это может быть проблема только с временной памятью, необходимой во время импорта и для изменения файла конфигурации psql.

Я немного растерялся, на сервере нет ничего, кроме базовой конфигурации безопасности и PSQL + файла резервной копии, поэтому, если нужно внести изменения в размер раздела, сейчас самое подходящее время, но я не знаю, что происходит в моем случае и не хочу все испортить, если это ничего не исправит.

1
задан 2 July 2019 в 10:00
2 ответа

Итак, я выполнил этот учебник , чтобы переместить каталог данных в / home / postgresql /, и он работает.

0
ответ дан 4 December 2019 в 10:57

Попытайтесь увеличить temp_tablespaces в файле postgresql.conf, ссылка на файл: https://www.postgresql.org/docs/10/runtime-config-client.html#GUC- ТЕМП-ТАБЛИЦЫ . По умолчанию это пустая строка.

-2
ответ дан 4 December 2019 в 10:57

Теги

Похожие вопросы