Цю сторінку перекладено машинним перекладом. Читайте англійський оригінал. English

Бібліотека IBSurgeon

Як змінити шлях для тимчасових файлів Firebird за допомогою FIREBIRD_TMP

Як змінити шлях для тимчасових файлів Firebird за допомогою FIREBIRD_TMP

Зі статті " FirebirdSQL: внутрішні файли, тимчасові файли та змінні середовища" ви знаєте, що розташування тимчасових файлів Firebird визначається змінною середовища FIREBIRD_TMP.

Якщо ви бачите, що у типовому розташуванні для тимчасових файлів бракує місця, або воно знаходиться на повільному диску, ви можете спробувати змінити шлях до тимчасових файлів Firebird. Для цього потрібно визначити FIREBIRD_TMP з новим шляхом.

Як практично змінити розташування тимчасових файлів Firebird за допомогою змінної середовища FIREBIRD_TMP?

Linux

Щоб визначити змінну середовища в Linux, відкрийте файл служби Firebird () і додайте до секції [service]:

Code
Environment=FIREBIRD_TMP=/новий/шлях/до/tmp

потім оновіть середовище демона та перезапустіть службу Firebird за допомогою наступних команд:

Code
systemctl daemon-reload
systemctl restart firebird-superserver

Зверніть увагу - цей підхід працює для Firebird 3 та Firebird 4. Для 2.5 додайте до файлу служби рядки з

Code
FIREBIRD_TMP=/новий/шлях/до/tmp
export FIREBIRD_TMP

Щоб перевірити значення змінних середовища, використовуйте наступну команду:

Code
strings /proc/PID/environ

де PID - це ідентифікатор процесу сервера Firebird.

Після цього тимчасові файли будуть зберігатися за новим шляхом. Однак ви не зможете переглянути їх простою командою ls, оскільки вони створюються в режимі “попереднього видалення”. Щоб переглянути тимчасові файли за новим шляхом, використовуйте наступні команди:

Code
 ls -l /proc/PID/fd/|grep deleted

де PID - це ідентифікатор процесу Firebird.

Ви побачите щось подібне (якщо є активні запити ORDER BY/GROUP BY/DISTINCT):

Code
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 найпростіший спосіб встановити це - запустити командний рядок з правами адміністратора та виконати команду:

Code
 setx /m FIREBIRD_TMP  DISK:/Шлях/До/Папки/Тимчасових/Файлів

Також ви можете відкрити діалог " Змінення системних змінних середовища" та додати змінну там.

Після цього, щоб застосувати зміни, перезапустіть службу Firebird.