Noções Básicas de Liderança Técnica sobre Postgres
8 exemplos para você começar com liderança técnica no Postgres - 5 básicos e 3 intermediários.
Pré-requisitos
psql "$DATABASE_URL" -c "SELECT version();"
psql "$DATABASE_URL" -c "SELECT count(*) FROM pg_stat_activity;"- Acesso de leitura a métricas de staging e produção (Grafana, pganalyze ou
pg_stat_statements). - Um único guia de estilo de esquema e ferramenta de migração para a organização.
- Relacionamentos com produto, finanças e segurança para conversas sobre compensações.
Exemplos Básicos
1. O Triângulo de Correção / Tempo de Atividade / Custo
Cada decisão move um vértice à custa de outro.
| Mudança de prioridade | Escolha de exemplo | Compensação |
|---|---|---|
| Correção para cima | Quórum de replicação síncrona | Maior latência de escrita, custo |
| Tempo de atividade para cima | Réplica HA extra + Patroni | Gasto mensal, complexidade operacional |
| Custo para baixo | Menos réplicas, instâncias menores | Maior RTO, contenção de análise |
- Documente qual vértice é innegociável por linha de produto.
- Revise trimestralmente quando o formato do tráfego mudar.
Relacionado: SLOs de Tempo de Atividade para Datastores - orçamentos de erro
2. Esquema como API Pública
Mudanças de esquema que quebram são mudanças de API que quebram.
-- Quebra sem expandir/contrair
ALTER TABLE invoices ALTER COLUMN amount TYPE numeric(10,2); -- risco de reescrita
-- Caminho de expansão mais seguro
ALTER TABLE invoices ADD COLUMN amount_v2 numeric(12,2);
-- app dual-write, backfill, cutover, drop old column later- Publique o changelog do esquema para os proprietários do serviço.
- Exija ERD ou link de migração em tickets épicos.
3. Propriedade da Matemática de Conexão
Líderes técnicos definem a política de pool; aplicativos a implementam.
max_connections = 200 na instância
PgBouncer pool_size = 80 por banco de dados
Pods do aplicativo = 40 x pool 20 = 800 conexões de cliente → DEVE usar PgBouncerSELECT count(*), state FROM pg_stat_activity GROUP BY 2;- Rejeite designs que abrem uma conexão por solicitação HTTP sem pooling.
- Planeje a capacidade antes da Black Friday, não durante.
Relacionado: Matemática de Conexão - fórmulas de dimensionamento
4. Barra Mínima de Observabilidade
Se você não pode ver, não pode liderar.
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
SELECT query, calls, mean_exec_time, rows
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;- Relatório Top-N de consultas na revisão semanal de engenharia.
- Previsão de crescimento de disco mensalmente com cópia para finanças.
5. Caminhos de Escalonamento
Esclareça quem decide sob pressão.
| Decisão | Proprietário | Consultar |
|---|---|---|
| Matar sessão bloqueadora | DBA de plantão | Líder do aplicativo |
| Failover | DBA + SRE | Dever do produto |
| Pular índice para lançamento | Líder técnico | Evidência do DBA |
| Mês de upgrade principal | Líder técnico + finanças | EOL de segurança |
- Pré-aprove a política de terminação para
idle in transaction. - Nunca improvise RACI durante Sev-1.
Relacionado: Noções Básicas de Incidentes - funções
Exemplos Intermediários
6. Conselho de Esquema Inter-Times
Fórum semanal de 30 minutos para banco de dados compartilhado.
## Agenda do Conselho de Banco de Dados
1. Migrações pendentes (nível de risco)
2. Fila de solicitações de índice
3. Aprendizados de incidentes
4. Upgrades de EOL e extensões- Representantes de cada serviço que usa o banco de dados.
- Veto apenas em correção/segurança, não em gosto.
- Saída: links ADR e ordem de migração aprovada.
7. Registro de Débito Técnico
Rastreie o débito da camada de dados como o débito da aplicação.
| ID | Item | Risco | Proprietário | Meta |
|----|------|------|-------|--------|
| DB-12 | FK ausente em refunds.order_id | correção | pagamentos | Q3 |
| DB-18 | orders_seq_scan 40% CPU | custo | plataforma | Q2 |SELECT relname, seq_scan, idx_scan
FROM pg_stat_user_tables
WHERE seq_scan > idx_scan AND seq_scan > 10000;- Vincule o burn-down de débito à recuperação do orçamento de erro após incidentes.
8. Contratação e Delegação
O líder técnico é dono dos padrões; DBAs staff+ são donos da profundidade de execução.
- O loop de entrevista inclui revisão de SQL e cenário de incidente.
- Emparelhe novos líderes com DBA na primeira janela de alto risco.
- Desenvolva autores internos de runbooks, não um único herói de plantão.
Relacionado: Crescimento na Carreira: DBA → Engenheiro de Dados Staff - caminho de crescimento
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+.