pgsql: Mark pageinspect's disk-accessing functions as parallel restrict

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Mark pageinspect's disk-accessing functions as parallel restrict
Date: 2022-11-21 20:37:26
Message-ID: E1oxDXh-000GDs-V1@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Mark pageinspect's disk-accessing functions as parallel restricted.

These functions have been marked parallel safe, but the buildfarm's
response to commit e2933a6e1 exposed the flaw in that thinking:
if you try to use them on a temporary table, and they run inside
a parallel worker, they'll fail with "cannot access temporary tables
during a parallel operation".

Fix that by marking them parallel restricted instead. Maybe someday
we'll have a better answer and can reverse this decision.

Back-patch to v15. To go back further, we'd have to devise variant
versions of pre-1.10 pageinspect versions. Given the lack of field
complaints, it doesn't seem worth the trouble. We'll just deem
this case unsupported pre-v15. (If anyone does complain, it might
be good enough to update the markings manually in their DBs.)

Discussion: https://postgr.es/m/E1ox94a-000EHu-VH@gemulon.postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/aeaaf520f409cf314f97c811d2713c99858f035d

Modified Files
--------------
contrib/pageinspect/Makefile | 3 ++-
contrib/pageinspect/meson.build | 1 +
contrib/pageinspect/pageinspect--1.10--1.11.sql | 28 +++++++++++++++++++++++++
contrib/pageinspect/pageinspect.control | 2 +-
4 files changed, 32 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2022-11-21 20:40:47 pgsql: Revert "Prevent instability in contrib/pageinspect's regression
Previous Message Tom Lane 2022-11-21 20:33:51 Re: pgsql: Prevent instability in contrib/pageinspect's regression test.