Go to file
João Pedro Toledo Goncalves cea9ca5089 Enable remote access: listen_addresses=* and pg_hba.conf 2026-02-03 12:42:22 -03:00
export_csv_20260130_184853 Initial commit: PostgreSQL Docker setup for Pralog database 2026-02-03 12:19:59 -03:00
init-scripts Initial commit: PostgreSQL Docker setup for Pralog database 2026-02-03 12:19:59 -03:00
.gitignore Add README.md and include chaves.md in repository 2026-02-03 12:22:55 -03:00
Dockerfile Enable remote access: listen_addresses=* and pg_hba.conf 2026-02-03 12:42:22 -03:00
README.md Add README.md and include chaves.md in repository 2026-02-03 12:22:55 -03:00
backup.ps1 Initial commit: PostgreSQL Docker setup for Pralog database 2026-02-03 12:19:59 -03:00
backup_global_20260130_184353.sql Initial commit: PostgreSQL Docker setup for Pralog database 2026-02-03 12:19:59 -03:00
chaves.md Add README.md and include chaves.md in repository 2026-02-03 12:22:55 -03:00
docker-compose.yml Enable remote access: listen_addresses=* and pg_hba.conf 2026-02-03 12:42:22 -03:00
export_csv.ps1 Initial commit: PostgreSQL Docker setup for Pralog database 2026-02-03 12:19:59 -03:00
local_credentials.md Initial commit: PostgreSQL Docker setup for Pralog database 2026-02-03 12:19:59 -03:00
setup_local_env.ps1 Initial commit: PostgreSQL Docker setup for Pralog database 2026-02-03 12:19:59 -03:00

README.md

Banco de Dados Pralog

Este repositório contém a configuração Docker para o banco de dados PostgreSQL do sistema Pralog.

📋 Visão Geral

  • Banco: PostgreSQL 16 Alpine
  • Container: pralog-local-db
  • Rede Docker: pralog-net
  • Porta Externa: 15432
  • Porta Interna: 5432

🔐 Credenciais

Ambiente Local (Docker)

Campo Valor
Host localhost
Porta 15432
Usuário itguys
Senha PralogLocal2026!Secure
Database global

Connection String:

postgresql://itguys:PralogLocal2026!Secure@localhost:15432/global

Ambiente de Produção (AWS RDS)

As credenciais de produção estão documentadas em chaves.md.

🚀 Como Usar

Pré-requisitos

  • Docker Desktop instalado e rodando
  • PowerShell (Windows)

Iniciando o Container

docker-compose up -d

Parando o Container

docker-compose down

Verificando Status

docker ps -f name=pralog-local-db

🔄 Restaurando o Backup

O arquivo de backup está montado dentro do container em /tmp/restore.sql.

Passo a Passo

  1. Acesse o container:

    docker exec -it pralog-local-db sh
    
  2. Execute o restore:

    psql -U itguys -d global -f /tmp/restore.sql
    
  3. Verifique os dados:

    psql -U itguys -d global -c 'SELECT count(*) FROM "GlobalDriver"'
    

📁 Estrutura do Projeto

banco-pralog/
├── docker-compose.yml          # Configuração do container
├── backup_global_*.sql         # Backup do banco de dados
├── chaves.md                   # Credenciais (produção e local)
├── local_credentials.md        # Credenciais do ambiente local
├── init-scripts/
│   └── 01-create-role.sql      # Script de criação de roles
├── pg_data/                    # Volume de dados (gitignore)
└── README.md                   # Este arquivo

🐳 Configuração Docker

docker-compose.yml

O arquivo docker-compose.yml define:

  • Imagem: postgres:16-alpine (leve e compatível com o backup)
  • Volumes:
    • ./pg_data/var/lib/postgresql/data (persistência de dados)
    • ./backup_*.sql/tmp/restore.sql (arquivo de backup)
    • ./init-scripts/*.sql/docker-entrypoint-initdb.d/ (scripts de inicialização)
  • Rede: pralog-net (bridge isolada)
  • Porta: 15432:5432

Persistência de Dados

Os dados do PostgreSQL são armazenados em ./pg_data/. Este diretório:

  • Persiste entre restarts do container
  • Persiste após docker-compose down
  • Persiste após redeploy/pull
  • Não é enviado ao Git (está no .gitignore)

Para resetar o banco completamente:

docker-compose down
Remove-Item -Recurse -Force .\pg_data\*
docker-compose up -d

📊 Tabelas Principais

Tabela Descrição
GlobalDriver Motoristas globais
GlobalDriverTenant Relação motorista-tenant
Tenant Tenants/empresas
TenantDomain Domínios dos tenants
global_driver_bank_account Contas bancárias dos motoristas
global_integration Integrações (Planner, IdWall)
request_log Log de requisições da API

🛠️ Manutenção

Fazer Backup

.\backup.ps1

Exportar para CSV

.\export_csv.ps1

⚠️ Notas Importantes

  1. Porta 15432: Usamos porta não-padrão para evitar conflitos com PostgreSQL local.
  2. Rede isolada: O container roda em rede pralog-net para compatibilidade com Portainer.
  3. Restore manual: O backup não é restaurado automaticamente ao iniciar o container.