Re: CREATE MATERIALIZED VIEW

Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>

From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: px shi <spxlyy123@gmail.com>, pgsql-hackers@postgresql.org
Date: 2024-07-25T14:49:02Z
Lists: pgsql-hackers
Nathan Bossart <nathandbossart@gmail.com> writes:

> On Thu, Jul 25, 2024 at 03:09:09PM +0100, Dagfinn Ilmari Mannsåker wrote:
>> Scratch that, I misread the diff. The tab completion has been there
>> since matviews were added in commit 3bf3ab8c5636, but the restriction on
>> unlogged matviews was added later in commit 3223b25ff73, which failed to
>> update the tab completion code to match.
>
> As noted a few years ago [0], the commit message for 3223b25ff73 indicates
> this was intentional:
>
> 	I left the grammar and tab-completion support for CREATE UNLOGGED
> 	MATERIALIZED VIEW in place, since it's harmless and allows delivering a
> 	more specific error message about the unsupported feature.

D'oh, I'm clearly struggling with reading things properly today.

> However, since it looks like the feature was never actually supported in a
> release, and the revert has been in place for over a decade, I think it'd
> be reasonable to remove the tab completion now.  It looks like the folks on
> the 2021 thread felt similarly.

Keeping it in the grammar makes sense for the more specific error
message, but I don't think the tab completion should be suggesting bogus
things, regardless of whether it's the grammar or the parse analysis
that rejects it.

> [0] https://postgr.es/m/flat/ZR0P278MB092093E92263DE16734208A5D2C59%40ZR0P278MB0920.CHEP278.PROD.OUTLOOK.COM

- ilmari



Commits

  1. Remove tab completion for CREATE UNLOGGED MATERIALIZED VIEW.

  2. Add tab completion for CREATE SCHEMA in psql

  3. Disallow unlogged materialized views.

  4. Add a materialized view relations.