Como alterar o caminho para os arquivos temporários do Firebird com FIREBIRD_TMP
Como alterar o caminho dos arquivos temporários do Firebird com FIREBIRD_TMP
Pelo artigo " FirebirdSQL: arquivos internos, arquivos temporários e variáveis de ambiente" você sabe que a localização dos arquivos temporários do Firebird é controlada pela variável de ambiente FIREBIRD_TMP.
Se você perceber que o local padrão para arquivos temporários está sem espaço, ou se ele está situado em um disco lento, você pode tentar alterar o caminho para os arquivos temporários do Firebird. Para isso, você precisa definir FIREBIRD_TMP com o novo caminho.
Como alterar na prática a localização dos arquivos temporários do Firebird com a variável de ambiente FIREBIRD_TMP?
Linux
Para definir a variável de ambiente no Linux, abra o arquivo de serviço do Firebird () e adicione à seção [service]:
Environment=FIREBIRD_TMP=/novo/caminho/para/tmp
em seguida, atualize o ambiente do daemon e reinicie o serviço do Firebird com os seguintes comandos:
systemctl daemon-reload
systemctl restart firebird-superserver
Observe que esta abordagem funciona para Firebird 3 e Firebird 4. Para o 2.5, adicione ao arquivo de serviço as linhas com
FIREBIRD_TMP=/novo/caminho/para/tmp
export FIREBIRD_TMP
Para verificar os valores das variáveis de ambiente, use o seguinte comando:
strings /proc/PID/environ
onde PID é o ID do processo do servidor Firebird.
Depois disso, os arquivos temporários irão para o novo caminho. No entanto, você não conseguirá visualizá-los com o comando simples ls, pois eles são criados no modo “pré-excluído”. Para visualizar os arquivos temporários no novo caminho, use os seguintes comandos:
ls -l /proc/PID/fd/|grep deleted
onde PID é o ID do processo do Firebird.
Você verá algo assim (se houver consultas ORDER BY/GROUP BY/DISTINCT ativas):
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
No Windows, a maneira mais fácil de definir é executar o prompt de comando com privilégios de Administrador e executar o comando:
setx /m FIREBIRD_TMP DISCO:/Caminho/Para/Pasta/Temp
Além disso, você pode abrir a caixa de diálogo " Editar as variáveis de ambiente do sistema" e adicionar a variável lá.
Depois disso, para aplicar, reinicie o serviço do Firebird.