Minha pergunta está relacionada a um incidente de produção em que foi necessário substituir um Postgres de baixo desempenho VIEW
sob carga. Tentamos inúmeras vezes redefinir o VIEW
using CREATE OR REPLACE
; isso não foi bem-sucedido porque a consulta DDL foi bloqueada por muitas outras SELECT
consultas. Então, pouco antes de mudarmos o banco de dados de produção para uma réplica (movimento desesperado), tentamos DROP e pareceu ter sucesso quase imediatamente. Pudemos então criar a visualização. Este incidente tornou-se um tanto controverso porque não conseguimos encontrar nenhuma documentação que diferencie o comportamento de bloqueio de CREATE OR REPLACE de DROP e depois CREATE. Alguns estão se perguntando: isso realmente aconteceu? Na esperança de obter alguns insights daqueles familiarizados com os componentes internos do Postgres.
Início
/
user-290207