Re: Should REINDEX be listed under DDL? - Mailing list pgsql-hackers

From Laurenz Albe
Subject Re: Should REINDEX be listed under DDL?
Date
Msg-id fc543657c4dbcee018b9e305b75a5784391db4fa.camel@cybertec.at
Whole thread Raw
In response to Should REINDEX be listed under DDL?  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Should REINDEX be listed under DDL?
List pgsql-hackers
On Mon, 2023-12-04 at 14:26 +0900, Michael Paquier wrote:
> On a recent thread about adding support for event triggers with
> REINDEX, a change has been proposed to make REINDEX queries reflect in
> the logs under the DDL category:
> https://www.postgresql.org/message-id/ZW0ltJXJ2Aigvizl%40paquier.xyz
>
> REINDEX being classified as LOGSTMT_ALL comes from 893632be4e17 back
> in 2006, and the code does not know what to do about it.  Doing the
> change would be as simple as that:
>         case T_ReindexStmt:
> -           lev = LOGSTMT_ALL;  /* should this be DDL? */
> +           lev = LOGSTMT_DDL;
>
> REINDEX is philosophically a maintenance command and a Postgres
> extension not in the SQL standard, so it does not really qualify as a
> DDL because it does not do in object definitions, so we could just
> delete this comment.  Or could it be more useful to consider that as a
> special case and report it as a DDL, impacting log_statements?

It should be qualified just like CREATE INDEX.
Both are not covered by the standard, which does not mention indexes,
since they are an "implementation detail".

I think that it is pretty clear that CREATE INDEX should be considered
DDL, since it defines (creates) and object.  The same should apply to
REINDEX.

Yours,
Laurenz Albe



pgsql-hackers by date:

Previous
From: Dmitry Koval
Date:
Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
Next
From: Haotian Chen
Date:
Subject: Re: Dumped SQL failed to execute with ERROR "GROUP BY position -1 is not in select list"