Esta página foi traduzida por máquina. Leia o original em inglês. English

Biblioteca IBSurgeon

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]:

Code
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:

Code
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

Code
FIREBIRD_TMP=/novo/caminho/para/tmp
export FIREBIRD_TMP

Para verificar os valores das variáveis de ambiente, use o seguinte comando:

Code
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:

Code
 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):

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

No Windows, a maneira mais fácil de definir é executar o prompt de comando com privilégios de Administrador e executar o comando:

Code
 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.