Sí, las cosas pueden salir mal.
Postgres nunca permitiría este estado a través de comandos DDL, y su comportamiento ahora es básicamente indefinido.
Por un lado, se espera que cada vista materializada tenga una definición asociada, por lo que pg_dump
ahora falla, quejándose de que la definition of view "t" appears to be empty (length zero)
.
Su "vista materializada" también puede tener valores predeterminados de columna, restricciones, disparadores y muchas otras cosas que nunca se permitirían a través de DDL, lo que podría causar su propio conjunto de problemas.
Si desea que una tabla sea de solo lectura, configure los permisos o rechazar cualquier cambio en un trigger .