Pular para o conteúdo principal

Migrações de Banco de Dados sem Downtime no PostgreSQL

Técnicas práticas para alterar schemas em bancos PostgreSQL sob carga sem derrubar a aplicação, incluindo expand-and-contract, DDL online e backfills seguros.

advanced
Database Operations

Migrações de Banco de Dados sem Downtime no PostgreSQL

Técnicas práticas para alterar schemas em bancos PostgreSQL sob carga sem derrubar a aplicação, incluindo expand-and-contract, DDL online e backfills seguros.

17 cartões
22 minutos
1 / 17
0% Dominado
0
? 0
Cartão 1 de 17
Fundamentals
Deslize para a esquerda/direita para navegar entre os cartões
Pergunta

Por que migrações de schema em uma tabela PostgreSQL sob carga costumam causar indisponibilidade mesmo quando a mudança parece pequena?

Toque para revelar
Resposta

A maioria dos comandos `ALTER TABLE` adquire um lock `ACCESS EXCLUSIVE`. Isso bloqueia toda leitura e escrita até a migração terminar. Em uma tabela muito acessada, até um lock de 200ms pode acumular milhares de queries esperando, esgotar o connection pool e derrubar a aplicação. A migração em si roda bem. É a fila de queries bloqueadas que quebra a produção.

postgresql
database-migrations
zero-downtime
Sponsored
Carbon Ads