FirebirdSQL
O FirebirdSQL é um banco de dados relacional open source, leve e poderoso, derivado do InterBase da Borland. Ele roda em Windows, Linux, macOS e ARM, e é amplamente usado em sistemas comerciais, ERP e aplicações embarcadas.
Pontos positivos do FirebirdSQL
- Desempenho elevado — Trabalha bem com bancos grandes e muitos usuários simultâneos, mesmo em hardware modesto.
- Zero administração — Dispensa serviços complexos; pode funcionar como embedded, sem instalação de servidor.
- Segurança robusta — Criptografia nativa de dados e autenticação integrada.
- Transações completas — Suporte total a ACID, com isolamento configurável (Read Committed, Snapshot, Serializable).
- Portabilidade — Um único arquivo .fdb contém todo o banco, facilitando backup e migração.
- Ferramentas familiares — Linguagem SQL padrão, PSQL para stored procedures e triggers.
- Configuração simples — Fácil de instalar e manter; ideal para sistemas que exigem confiabilidade sem administração constante.
Instalação
O FirebirdSQL não é empacotado para Debian/Ubuntu da forma como já foi no passado. Atualmente, o FirebirdSQL inclui seu próprio instalador oficial. Antes de prosseguir, instale a biblioteca libtommath, que é uma dependência:
sudo apt install -y libtommath-dev
Agora vá até a página oficial do FirebirdSQL e baixe a última versão para Linux:
https://firebirdsql.org/downloads
Digamos que você tenha baixado o arquivo em ~/Downloads. Vamos descompactá-lo:
cd ~/Downloads
tar zxvf Firebird-5.0.3.1683-0-linux-x64.tar.gz
A descompressão irá criar uma subpasta. Entre nela:
cd Firebird-5.0.3.1683-0-linux-x64/
E execute o instalador:
sudo ./install.sh
Durante a instalação, será perguntado qual será a senha do SYSDBA. Informe a que desejar (inclusive masterkey se for usar em desenvolvimento).
Banco de dados Firebird - Grupo firebird
O serviço do FirebirdSQL é mantido por um usuário com permissões restritas chamado firebird. Isso aumenta a segurança em sistemas POSIX, mas impede que outros usuários acessem bancos localmente (não confundir com acesso a localhost), pois somente o usuário/grupo firebird tem acesso aos arquivos.
Para contornar isso, coloque seu usuário no grupo firebird:
sudo usermod -aG firebird "$USER"
newgrp firebird
Para conferir:
getent group firebird
Se o seu login aparecer no grupo firebird, é um ótimo indicativo de que a operação foi realizada com sucesso.
Banco de dados Firebird - SQL Client
O “SQL Client” é a biblioteca que permite conectividade com o banco. Sem ela, outros programas podem não conseguir conectar-se ao Firebird.
Confira se a biblioteca está presente no sistema:
ls -l /lib64/libfbclient.so
Em Debian/Ubuntu, o diretório /lib64 pode não existir (ou a biblioteca pode estar em outro caminho, como /usr/lib/x86_64-linux-gnu). Se este teste falhar, use:
sudo find /opt/firebird -name 'libfbclient.so*' -maxdepth 3
ldconfig -p | grep -i fbclient
Se a biblioteca não estiver no PATH do sistema e isso estiver causando problemas em programas clientes, você pode criar um link simbólico:
[ -f /opt/firebird/lib/libfbclient.so ] && sudo ln -s /opt/firebird/lib/libfbclient.so /lib64/libfbclient.so
Confira novamente:
ls -l /lib64/libfbclient.so
Alterando a senha do SYSDBA
O SYSDBA é o equivalente ao “root” no Linux (ou “sa” no MSSQL), isto é, tem plenos poderes. Após a instalação, a forma padrão de alterar senhas é via isql.
sudo /opt/firebird/bin/isql /opt/firebird/security5.fdb
Nesse tipo de conexão, você não precisa informar usuário e senha, pois é uma conexão local direta ao arquivo (não é “localhost”). Uma vez conectado:
alter user SYSDBA password 'masterkey';
commit;
quit;
Para listar usuários que começam com “A” (em vez de usar SHOW USERS):
SELECT sec$user_name FROM sec$users
where sec$user_name like 'a%';
Permissões
Se for copiar arquivos de banco (geralmente .fdb) para o servidor, não copie para o seu $HOME, pois o usuário firebird normalmente não tem acesso lá. Use uma pasta fora do $HOME, por exemplo:
sudo mkdir -p /var/fdb
Dê permissão com bit sticky para as subpastas herdarem do pai (escrita para o grupo firebird, leitura para os demais):
sudo chmod 1775 /var/fdb
Depois de copiar arquivos, pode ser necessário ajustar dono/permissões:
sudo chown -R firebird:firebird /var/fdb/*
sudo chmod -R 664 /var/fdb/*
Variáveis de ambiente
Essas variáveis podem ser usadas para evitar digitar usuário e senha em utilitários. Como elas ficarão no seu perfil, apenas você e o root terão acesso.
Edite o arquivo ~/.bash_profile:
editor ~/.bash_profile
E acrescente:
export FIREBIRD_MSG=/opt/firebird
export ISC_USER=SYSDBA
export ISC_PASSWORD=masterkey
Para testar:
echo $ISC_USER
Variáveis de ambiente globais
Para variáveis globais (todos os usuários/serviços), edite:
sudo editor /etc/environment.d/999-firebird.conf
Conteúdo:
FIREBIRD_MSG=/opt/firebird
ISC_USER=SYSDBA
ISC_PASSWORD=masterkey
Nesse arquivo não usamos export porque não é um script, e sim um arquivo de configuração lido no boot. Reinicie o sistema para aplicar.
Ajustando o PATH
O FirebirdSQL costuma ser instalado em /opt/firebird, e utilitários como isql e gbak ficam em /opt/firebird/bin. Para evitar digitar caminhos longos, acrescente esse diretório ao PATH do sistema:
sudo editor /etc/profile.d/999-firebird-path.sh
Conteúdo:
# Adiciona o Firebird ao PATH do sistema
# Torna o caminho acessível a todos os usuários de login
if [ -d /opt/firebird/bin ]; then
PATH="$PATH:/opt/firebird/bin"
export PATH
fi
Dê permissão de leitura global:
sudo chmod 644 /etc/profile.d/999-firebird-path.sh
Para testar em uma sessão atual:
source /etc/profile.d/999-firebird-path.sh
echo $PATH
Depois de instalar, vale a pena ver também: