Sql Postgres将视图创建为非视图

Sql Postgres将视图创建为非视图,sql,postgresql,Sql,Postgresql,维护前员工的代码时发现了一条我无法理解的SQL: CREATE OR REPLACE VIEW my_view AS Not a view 没有关于官方文件的信息,我一直在寻找关于这个查询的信息,但没有结果 有什么提示吗?视图已被删除 您的脚本是由使用的应用程序生成的。如果没有具有给定oid的视图,则函数返回字符串nota view。简单测试: create view my_view as select 1; select oid from pg_class where relname

维护前员工的代码时发现了一条我无法理解的SQL:

CREATE OR REPLACE VIEW my_view AS Not a view
没有关于官方文件的信息,我一直在寻找关于这个查询的信息,但没有结果

有什么提示吗?

视图已被删除

您的脚本是由使用的应用程序生成的。如果没有具有给定oid的视图,则函数返回字符串
nota view
。简单测试:

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) 
请注意,并不意味着
我的视图
不存在。如果重新创建视图,它将有另一个oid。唯一确定的结论是您的脚本不是最新的(它与数据库的当前内容不一致)。作为补救措施,您应该使用SQL格式的模式,例如

pg_dump --schema-only --format=plain my_database > my_database.dump

我以前从未见过这个,在这里看到答案会很酷。你确定这是SQL吗?您能显示更多的周围代码吗?这看起来像是故意试图生成错误。这在sqlfiddle上失败