Как изменить путь для временных файлов Firebird с помощью FIREBIRD_TMP
Как изменить путь для временных файлов Firebird с помощью FIREBIRD_TMP
Из статьи " FirebirdSQL: внутренние файлы, временные файлы и переменные окружения" вы знаете, что расположение временных файлов Firebird определяется переменной окружения FIREBIRD_TMP.
Если вы видите, что в месте по умолчанию для временных файлов не хватает места, или оно находится на медленном диске, вы можете попробовать изменить путь к временным файлам Firebird. Для этого вам нужно задать переменную FIREBIRD_TMP с новым путем.
Как на практике изменить расположение временных файлов Firebird с помощью переменной окружения FIREBIRD_TMP?
Linux
Чтобы задать переменную окружения в Linux, откройте файл службы Firebird () и добавьте в секцию [service]:
Environment=FIREBIRD_TMP=/new/path/to/tmp
затем обновите окружение демона и перезапустите службу Firebird следующими командами:
systemctl daemon-reload
systemctl restart firebird-superserver
Обратите внимание - этот подход работает для Firebird 3 и Firebird 4. Для версии 2.5 добавьте в файл службы строки с
FIREBIRD_TMP=/new/path/to/tmp
export FIREBIRD_TMP
Чтобы проверить значения переменных окружения, используйте следующую команду:
strings /proc/PID/environ
где PID - это идентификатор процесса сервера Firebird.
После этого временные файлы будут сохраняться по новому пути. Однако вы не сможете просмотреть их простой командой ls, поскольку они создаются в режиме “предварительного удаления”. Чтобы просмотреть временные файлы по новому пути, используйте следующие команды:
ls -l /proc/PID/fd/|grep deleted
где PID - это идентификатор процесса Firebird.
Вы увидите что-то вроде этого (если есть активные запросы ORDER BY/GROUP BY/DISTINCT):
root@ubuntu:/opt/testtmp# ls -l /proc/122999/fd/|grep deleted
lrwx------ 1 firebird firebird 64 Jan 11 01:55 7 -> /opt/testtmp/fb_sort_hFFA8P (deleted)
Windows
В Windows самый простой способ задать переменную - запустить командную строку с правами администратора и выполнить команду:
setx /m FIREBIRD_TMP DISK:/Path/To/Temp/Folder
Также вы можете открыть диалог " Изменение системных переменных среды" и добавить переменную там.
После этого для применения изменений перезапустите службу Firebird.