Configuração Global das Ferramentas¶
Os pacotes SQL do ecossistema Quantilica (bcb-sgs-sql, sidra-sql) precisam de
configuração persistente para conectar ao banco de dados PostgreSQL e localizar
os dados baixados pelos fetchers. Esta página explica onde essa configuração
fica, como configurá-la e qual é a ordem de precedência.
Localização dos arquivos¶
Toda a configuração global fica agrupada sob ~/.config/quantilica/:
~/.config/quantilica/
bcb-sgs-sql/
config.ini
sidra-sql/
config.ini
No Windows, ~/.config/quantilica/ resolve para %APPDATA%\quantilica\.
Além do arquivo global, cada ferramenta também aceita um config.ini local —
um arquivo na pasta de trabalho corrente. A configuração local sobrepõe a global
para qualquer chave em comum.
Precedência¶
config.ini (local, pasta corrente) ← maior prioridade
↑
~/.config/quantilica/<ferramenta>/config.ini (global)
↑
(sem config → erro com instruções de setup)
Formato do arquivo¶
Os arquivos usam o formato INI padrão do Python:
[database]
host = localhost
port = 5432
user = postgres
password = senha_secreta
dbname = dados
schema = bcb_sgs
[storage]
data_dir = /data/bcb-sgs
cache_ttl_hours = 24.0
A seção [database] e a chave storage.data_dir são obrigatórias. As demais
chaves têm valores padrão.
Gerenciando via CLI¶
Todas as ferramentas expõem um subcomando config com três operações:
config set¶
# Escreve no config local (pasta corrente)
bcb-sgs-sql config set database.host localhost
bcb-sgs-sql config set database.port 5432
bcb-sgs-sql config set database.user postgres
bcb-sgs-sql config set database.password senha_secreta
bcb-sgs-sql config set database.dbname dados
bcb-sgs-sql config set database.schema bcb_sgs
bcb-sgs-sql config set storage.data_dir /data/bcb-sgs
# Escreve no config global (~/.config/quantilica/bcb-sgs-sql/config.ini)
bcb-sgs-sql config set --global database.host localhost
A flag --global é útil para configuração de máquina que serve a múltiplos
projetos.
config get¶
bcb-sgs-sql config get database.host
config list¶
# Visão mesclada (local sobrepõe global)
bcb-sgs-sql config list
# Apenas o arquivo global
bcb-sgs-sql config list --global
# Apenas o arquivo local
bcb-sgs-sql config list --local
Os mesmos subcomandos existem para sidra-sql.
Setup inicial recomendado¶
Para uma instalação nova, configure o global e esqueça:
bcb-sgs-sql config set --global database.host localhost
bcb-sgs-sql config set --global database.port 5432
bcb-sgs-sql config set --global database.user postgres
bcb-sgs-sql config set --global database.password <senha>
bcb-sgs-sql config set --global database.dbname dados
bcb-sgs-sql config set --global database.schema bcb_sgs
bcb-sgs-sql config set --global storage.data_dir /data/bcb-sgs
Se você usa banco de dados diferentes por projeto, crie um config.ini local
na raiz de cada projeto com apenas as chaves que diferem:
# ./config.ini — sobrepõe apenas o schema e o data_dir para este projeto
[database]
schema = bcb_sgs_dev
[storage]
data_dir = ./data
Migração de versões anteriores¶
Versões anteriores ao suporte ao namespace quantilica guardavam a config em
caminhos isolados por ferramenta:
~/.config/bcb-sgs-sql/config.ini~/.config/sidra-sql/config.ini
Na primeira execução após a atualização, a ferramenta detecta o arquivo antigo e o copia automaticamente para o novo caminho, emitindo um aviso:
UserWarning: Config migrated from ~/.config/bcb-sgs-sql/config.ini
to ~/.config/quantilica/bcb-sgs-sql/config.ini
O arquivo antigo não é removido automaticamente. Após confirmar que a migração ocorreu corretamente, você pode excluí-lo:
rm -rf ~/.config/bcb-sgs-sql
rm -rf ~/.config/sidra-sql
Saiba mais¶
- bcb-sgs-sql — carregar séries do SGS/BCB no PostgreSQL.
- sidra-sql — carregar agregados do IBGE SIDRA no PostgreSQL.
- Convenções de Armazenamento — onde os fetchers salvam os dados brutos.