Re: BUG #16492: DROP VIEW IF EXISTS error

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: "postgresql(dot)2020(at)t-net(dot)ruhr" <postgresql(dot)2020(at)t-net(dot)ruhr>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16492: DROP VIEW IF EXISTS error
Date: 2020-06-12 19:43:19
Message-ID: CAKFQuwaCYa3Dx_dEcLfzUrUgcw_jOJ1Y_s-mGwkf0ENXt34XGg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Friday, June 12, 2020, PG Bug reporting form <noreply(at)postgresql(dot)org>
wrote:

> The following bug has been logged on the website:
>
> Bug reference: 16492
> Logged by: Nina Marlow
> Email address: postgresql(dot)2020(at)t-net(dot)ruhr
> PostgreSQL version: 12.3
> Operating system: Linux/Docker
> Description:
>
> When trying to use "DROP VIEW IF EXISTS x" while a table named "x" exists,
> the DROP statement raises an "Error: x is not a view".
>
> The documentation says about the "IF EXISTS" clause:
>
> > Do not throw an error if the view does not exist. A notice is issued in
> this case.
>
> Imho, there shouldn't be an error if the view does not exist regardless of
> whether or not a table with this name exists. The observed behavior is
> contrary to the sense of the "IF EXISTS" clause as one would have to check
> whether a table with the desired name exists before using "DROP VIEW IF
> EXISTS". But then you could directly check whether or not the view itself
> exists.
>

This thread from 2018 illustrates the current state of the discussion:

https://www.postgresql.org/message-id/flat/CAFj8pRD-Lq%3D9ZTHuAdq1RYW4EN0O5Pr0cvCUZs5%3DMUzs2dLCXQ%40mail.gmail.com#9f9dfcca54742947c7140c9789e6b82a

I still concur this is indeed a bug that should be fixed.

David J.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Pavel Stehule 2020-06-12 20:19:29 Re: BUG #16492: DROP VIEW IF EXISTS error
Previous Message Robert Haas 2020-06-12 18:13:11 Re: BUG #16040: PL/PGSQL RETURN QUERY statement never uses a parallel plan