El código de mantenimiento de un ex empleado encontró una parte de SQL que no puedo entender:
CREATE OR REPLACE VIEW my_view AS Not a viewNo hay información sobre la documentación oficial y he estado buscando información sobre esta consulta, pero fue en vano.
alguna pista?
La vista fue eliminada.
Su script fue generado por una aplicación que usa pg_get_viewdef(view_oid) . Cuando no hay una vista con un oid dado, la función devuelve la cadena not a view . Prueba sencilla:
create view my_view as select 1; select oid from pg_class where relname = 'my_view'; oid -------- 151388 (1 row) select pg_get_viewdef(151388); pg_get_viewdef ---------------- SELECT 1; (1 row) drop view my_view; select pg_get_viewdef(151388); pg_get_viewdef ---------------- Not a view (1 row) Tenga en cuenta que no significa que my_view no exista. Si recrea la vista, tendrá otro oid. La única conclusión segura es que su secuencia de comandos no está actualizada (es inconsistente con el contenido actual de la base de datos). Como remedio, debe volcar el esquema en formato SQL, por ejemplo
pg_dump --schema-only --format=plain my_database > my_database.dump