Noções Básicas de Governança
8 exemplos para você começar com a governança do Postgres - 5 básicos e 3 intermediários.
Busque em todas as páginas da documentação
8 exemplos para você começar com a governança do Postgres - 5 básicos e 3 intermediários.
ls docs/postgresql-style-guide.md # ou equivalente do repositório
psql -c "SELECT extname FROM pg_extension ORDER BY 1;"Um documento abrange todos os bancos de dados de produtos no Postgres.
# Guia de Estilo PostgreSQL (trecho)
- Tabelas: snake_case plural (`orders`, `line_items`)
- PK: `bigint GENERATED ALWAYS AS IDENTITY` ou `uuid` com default explícito
- Timestamps: `timestamptz` nomeado `created_at`, `updated_at`
- FK: `{referenced_table_singular}_id`
- Nenhuma palavra reservada sem aspasRelacionado: Padrões de Nomenclatura e Documentação - comentários e ERDs
CREATE ROLE app_read NOLOGIN;
CREATE ROLE app_write NOLOGIN;
CREATE ROLE migrator LOGIN PASSWORD 'vault-rotated';
GRANT app_read TO app_api;
GRANT app_write TO app_worker;
-- migrator possui DDL apenas em CIapp_user superusuário compartilhado entre serviços.BYPASSRLS reservado para contas de "break-glass" com auditoria.| Extensão | Status | Proprietário |
|---|---|---|
| pgcrypto | Aprovado | platform |
| pgvector | Aprovado | search team |
| postgis | Aprovado | logistics |
| plpython3u | Negado | - |
SELECT extname, extversion FROM pg_extension;Relacionado: Governança de Extensões e Plugins - cadência
Equipe de serviço escreve SQL → DBA revisa o nível → CI aplica com role migrator# ADR-0142: Blob de configuração JSONB em tenants
Status: Aceito
Contexto: Flags rápidas de tenant antes do GA
Consequência: Validar no aplicativo; migrar para colunas até o Q4
Data de revisão: 2026-12-01docs/adr/ vinculados a diagramas ER.-- Tarefa semanal: objetos criados fora do role migrator
SELECT obj.object_identity, ev.objid, ev.classid
FROM pg_event_trigger_ddl_commands() ev
JOIN pg_identify_object(ev.classid, ev.objid, ev.objsubid) obj
ON true;
-- Preferir auditoria de ddl via pgaudit ou event trigger na conta de plataformaCREATE TABLE não for migrator.payments_db e billing_db usam o mesmo:
- guia de nomenclatura
- convenções de timestamp
- política de nomenclatura RLS (`{table}_tenant_isolation`)lock_timeout, etc.).| KPI | Meta |
|---|---|
| Migrações sem tag de nível | 0 |
| Extensões não autorizadas | 0 |
| Exceções ADR após a data de revisão | 0 abertas |
| Comparecimento do Conselho | > 80% das equipes representadas |
Relacionado: Melhores Práticas de Governança - checklist completo
Versões da Stack: Esta página foi escrita para PostgreSQL 18.4 (estável 18, manutenção 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x e PostGIS 3.5+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026