Appetite for `SELECT ... EXCLUDE`? - Mailing list pgsql-general

From Nikhil Benesch
Subject Appetite for `SELECT ... EXCLUDE`?
Date
Msg-id CAPWqQZQNdwYOEZhMP0KKyorgP8rCeuDNT=SG96gyxZQkbBg1hw@mail.gmail.com
Whole thread Raw
Responses Re: Appetite for `SELECT ... EXCLUDE`?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Both DuckDB and Snowflake, as of recently, support a nonstandard `EXCLUDE`
clause in the SELECT list to allow excluding fields from a wildcard [0] [1].

Example from the DuckDB announcement [2]:

   SELECT * EXCLUDE (jar_jar_binks, midichlorians) FROM star_wars

Is there any appetite for adding this feature to PostgreSQL? It's quite a bit
less typing when you're querying a relation with many columns and want to
exclude only a few of those columns. Of course the downside is that it is not
(AFAIK) in the SQL standard. I searched the archives and there are a few users
asking about such a feature over the years.

To be fully transparent, I'm asking in part on behalf of Materialize [3], where
we try to follow PostgreSQL's syntax and semantics as closely as possible in our
own SQL dialect. (We're happy to carry around extensions that PostgreSQL
doesn't have, but our worst case scenario is that we eagerly implement an
extension that PostgreSQL implements later in an incompatible way.)

[0]: https://github.com/duckdb/duckdb/issues/2199
[1]: https://docs.snowflake.com/en/release-notes/2022-11.html#select-excluding-and-renaming-specific-columns
[2]: https://duckdb.org/2022/05/04/friendlier-sql.html
[3]: https://materialize.com



pgsql-general by date:

Previous
From: Thomas Kellerer
Date:
Subject: Re: Calculating average block write time
Next
From: "Peter J. Holzer"
Date:
Subject: Re: Seeking practice recommendation: is there ever a use case to have two or more superusers?