如何通过FIREBIRD_TMP更改Firebird临时文件的路径
如何通过 FIREBIRD_TMP 更改 Firebird 临时文件的路径
从文章“FirebirdSQL:内部文件、临时文件和环境变量”中,您了解到 Firebird 临时文件的位置由环境变量 FIREBIRD_TMP 控制。
如果您发现临时文件的默认位置空间不足,或者位于速度较慢的磁盘上,您可以尝试更改 Firebird 临时文件的路径。为此,您需要使用新路径定义 FIREBIRD_TMP。
如何通过 FIREBIRD_TMP 环境变量实际更改 Firebird 临时文件的位置?
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 服务器的进程 ID。
之后,临时文件将写入新路径。但是,您无法使用简单的 ls 命令查看它们,因为它们是以“预删除”模式创建的。要查看新路径中的临时文件,请使用以下命令:
ls -l /proc/PID/fd/|grep deleted
其中 PID 是 Firebird 进程 ID。
您将看到类似以下内容(如果有活动的 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 服务以应用更改。