On Tue, 2023-12-12 at 19:28 +0000, PG Bug reporting form wrote:
> nik=# create index on t1 (hash_record(t1));
>
> Such an index can easily be corrupted, e.g.:
>
> nik=# alter table t1 add column yo int default -1;
>
> Proposal: prohibit the use of whole-row expression – as it is already done
> for generated columns and produce a similar error ("cannot use whole-row
> variable in column generation expression")
I reported that bug before:
https://www.postgresql.org/message-id/flat/e48a5d9a2d3d72985d61ee254314f5f5f5444a55.camel%40cybertec.at
I think that your proposal is good, it seems that nobody cared enough
to implement it. If we forbid that, one thing to consider is pg_upgrade:
it needs a new check.
Yours,
Laurenz Albe