Cách thay đổi đường dẫn cho các tệp tạm thời của Firebird bằng FIREBIRD_TMP
Cách thay đổi đường dẫn cho các tệp tạm thời của Firebird bằng FIREBIRD_TMP
Từ bài viết " FirebirdSQL: internal files, temporary files, and environment variables" bạn biết rằng vị trí của các tệp tạm thời của Firebird được quy định bởi biến môi trường FIREBIRD_TMP.
Nếu bạn thấy rằng vị trí mặc định cho các tệp tạm thời thiếu dung lượng, hoặc nếu nó nằm trên ổ đĩa chậm, bạn có thể thử thay đổi đường dẫn đến các tệp tạm thời của Firebird. Để làm điều này, bạn cần định nghĩa FIREBIRD_TMP với đường dẫn mới.
Làm thế nào để thay đổi vị trí của các tệp tạm thời Firebird bằng biến môi trường FIREBIRD_TMP một cách thực tế?
Linux
Để định nghĩa biến môi trường trong Linux, hãy mở tệp dịch vụ Firebird () và thêm vào phần [service]:
Environment=FIREBIRD_TMP=/new/path/to/tmp
sau đó cập nhật môi trường daemon và khởi động lại dịch vụ Firebird bằng các lệnh sau:
systemctl daemon-reload
systemctl restart firebird-superserver
Xin lưu ý - cách tiếp cận này hoạt động cho Firebird 3 và Firebird 4. Đối với 2.5, hãy thêm vào tệp dịch vụ các dòng với
FIREBIRD_TMP=/new/path/to/tmp
export FIREBIRD_TMP
Để kiểm tra các giá trị của biến môi trường, hãy sử dụng lệnh sau:
strings /proc/PID/environ
trong đó PID là ID tiến trình của máy chủ Firebird.
Sau đó, các tệp tạm thời sẽ được chuyển đến đường dẫn mới. Tuy nhiên, bạn sẽ không thể xem chúng bằng lệnh ls đơn giản, vì chúng được tạo ở chế độ “pre-deleted”. Để xem các tệp tạm thời trong đường dẫn mới, hãy sử dụng các lệnh sau:
ls -l /proc/PID/fd/|grep deleted
trong đó PID là ID tiến trình Firebird.
Bạn sẽ thấy một cái gì đó như thế này (nếu có các truy vấn ORDER BY/GROUP BY/DISTINCT đang hoạt động):
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
Trên Windows, cách dễ nhất để thiết lập là chạy dấu nhắc lệnh với quyền Quản trị viên và thực thi lệnh:
setx /m FIREBIRD_TMP DISK:/Path/To/Temp/Folder
Ngoài ra, bạn có thể mở hộp thoại " Edit the system environment variables" và thêm biến ở đó.
Sau đó, để áp dụng, hãy khởi động lại dịch vụ Firebird.