But in PostgreSQL, too, the documentation says: `IF EXISTS -- Do not throw an error if the view does not exist. A notice is issued in this case.` So imho it's a bug there as well (Documented behavior <> Actual behavior). What would be the problem if "DROP VIEW IF EXISTS" behaved as printed in the documentation? There wouldn't be any adverse effects, would there? It cannot lead to any compatibility issue because the statement obviously hasn't followed the documentation. Advantages of "DROP VIEW IF EXISTS" raising an error: ?? (I would say: none; those who want errors simply leave out the "IF EXISTS" clause) Advantages of not raising an error: View can properly be dropped even if a table with same name exists. Why should this behavior be unwanted?? It doesn't make any sense to me at all. The "IF EXISTS" clause is just useless then.