PostgreSQL下拉视图(如果存在)

PostgreSQL下拉视图(如果存在),sql,database,postgresql,view,Sql,Database,Postgresql,View,在PostgreSQL中运行命令时 DROP VIEW IF EXISTS view_name; 我得到的答复是: View IF dropped. 有人能解释一下这是什么意思吗?为什么要用“IF”这个词而不是像:View-View\u-name这样的响应呢?PostgreSQL并不是这样做的。演示: postgres=# create view view_name as select 1; CREATE VIEW postgres=# drop view if exists view_n

在PostgreSQL中运行命令时

DROP VIEW IF EXISTS view_name;
我得到的答复是:

View IF dropped.

有人能解释一下这是什么意思吗?为什么要用“IF”这个词而不是像:View-View\u-name这样的响应呢?

PostgreSQL并不是这样做的。演示:

postgres=# create view view_name as select 1;
CREATE VIEW

postgres=# drop view if exists view_name;
DROP VIEW

postgres=# \echo :SERVER_VERSION_NUM
110002

postgres=# drop view if exists view_name;
NOTICE:  view "view_name" does not exist, skipping
DROP VIEW

可能您使用的不是PostgreSQL本身,而是具有不同语法的fork。查看SELECT version;的结果

谢谢@daniel-vérité-这是一个在AWS的RDS实例上运行的PostgreSQL。选择的版本结果是:x86_64-pc-linux-gnu上的PostgreSQL 10.6,由gcc gcc 4.8.3 20140911 Red Hat 4.8.3-9编译,64-bit@russellelbert:如果您在远程连接到RDS的情况下在psql下运行命令,您应该会得到与上面我的回答相同的结果。我怀疑,如果删除的消息来自一个SQL客户机,该客户机试图解释该语句,但做得不够好。再次感谢你的帮助!