Tecnologias/02 - Bancos de Dados/01 - Relacionais/01 - PostgreSQL1 minmoc
MOC PostgreSQL
01 - PostgreSQL
Do modelo mental ao mecanismo: um processo por conexão, tupla versionada na própria página e WAL antes de tudo. Essas três decisões explicam todo o comportamento do Postgres, bom e ruim.
Definições e explicações
- 1. PostgreSQL — a tese, o ecossistema de extensões, o que o Postgres 18 mudou
- 2. Arquitetura de Processos e Memória — postmaster, backends,
shared_buffers,work_mem - 3. WAL, Checkpoint e Replicação — LSN, checkpoint, PITR, replicação física e lógica
- 4. MVCC, Tuplas e VACUUM —
xmin/xmax, HOT update, bloat, freeze, wraparound - 5. Índices e o Planejador — B-tree, GIN, BRIN, index-only scan, custos e estatísticas
- 6. Particionamento e Pooling de Conexões — partição declarativa, PgBouncer e a armadilha do modo transaction
- 7. Diagnóstico e Tuning —
pg_stat_statements, wait events, locks,EXPLAINde verdade
A ideia que atravessa a seção
O Postgres nunca sobrescreve um dado no lugar. Toda escrita é: registra no WAL, cria uma nova versão da tupla, marca a antiga como morta. Depois alguém limpa.
Isso dá a ele rollback instantâneo, PITR, replicação física por streaming e leitura sem
lock. E cobra em espaço (bloat), em manutenção (VACUUM) e em write
amplification (a tupla nova precisa entrar em todos os índices).
Quando você entender essa frase por dentro (4. MVCC, Tuplas e VACUUM), 90% dos incidentes de Postgres param de ser misteriosos.
Parte de Bancos Relacionais · postgresql.org/docs