Sim, as coisas podem dar errado.
O Postgres nunca permitiria esse estado por meio de comandos DDL, e seu comportamento agora é basicamente indefinido.
Por um lado, espera-se que cada visualização materializada tenha uma definição associada e, portanto,
pg_dump
agora trava, reclamando que a definition of view "t" appears to be empty (length zero)
. Sua "visão materializada" também pode ter padrões de coluna, restrições, gatilhos e muitas outras coisas que nunca seriam permitidas via DDL, o que pode causar seu próprio conjunto de problemas.
Se você quiser tornar uma tabela somente leitura, defina as permissões apropriadas a> , ou rejeite quaisquer alterações em um trigger .