No meu caso, o problema estava na transação não fechada.
Houve uma transação em que minha visão materializada foi consultada. Essa transação nunca foi fechada.
Eu adicionei um commit após a consulta e isso resolve o problema. Parece que o postgre mantém alguns bloqueios na visualização até que a transação seja fechada.