Este repositório fornece meios, através do docker, para facilitar o uso dos dados abertos de obras oriundos do Tribunal de Contas do estado da Paraíba. Com ele é possível restaurar o banco PostgreSQL do GeoPB com todos os pacotes necessários para o funcionamento da aplicação, como dependências e bibliotecas.
- Os serviços utilizam docker para configuração do ambiente e execução do script. Instale o docker e tenha certeza que você também tem o docker-compose e o Make instalados.
Essas instruções fornecerão acesso ao banco funcionando em sua máquina local para fins de desenvolvimento, execução de pesquisas ou outros meios para promover o controle social.
Os passos para a restauração e utilização do banco de dados são elecandos abaixo:
- Após ter clonado e entrado no repositório, construa a imagem do docker.
sudo make build
- Agora baixe o backup do GeoPB e execute o container do docker.
# baixe os dados
sudo make fetch-geopb-backup
# execute o container
sudo make up
- Entre no container e execute o .sql para criar um novo banco.
# entre no container
sudo make enter-container
# crie um novo banco
psql -U postgres -h 127.0.0.1 < /sql/create_db.sql
- Restaure o banco.
# restaure o banco
pg_restore -U postgres -d geopb_db --if-exists --clean /backup/TCEPB_geopb_export.backup
# agora saia do container (ctrl+d)
- Verifique se a restauração funcionou recuperando as tabelas presente no banco.
# entre no banco
sudo make geopb-shell
#verifique as tabelas presentes no banco
\dt
- Abaixo está um exemplo de como utilizar esses dados via R.
library(dplyr)
library(odbc)
POSTGRES_HOST="localhost"
POSTGRES_DB="geopb_db"
POSTGRES_USER="postgres"
POSTGRES_PASSWORD="secret123456"
POSTGRES_PORT=7658
db_con <- NULL
db_con <- DBI::dbConnect(RPostgres::Postgres(),
dbname = POSTGRES_DB,
host = POSTGRES_HOST,
port = POSTGRES_PORT,
user = POSTGRES_USER,
password = POSTGRES_PASSWORD)
obras <- dplyr::tbl(db_con, sql('SELECT * FROM t_obra')) %>% dplyr::collect(n = Inf)
- Por fim, para interromper a execução do container execute:
sudo make stop
Existem alguns arquivos adicionais na pasta data que, por algum motivo, não foram disponibilizados pela equipe do TCE-PB.
- Docker - Containers
- PosgresSQL - Sistema gerenciador de Banco de dados relacional