Re: Prevent writes on large objects in read-only transactions - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Prevent writes on large objects in read-only transactions
Date
Msg-id 556338.1654092917@sss.pgh.pa.us
Whole thread Raw
In response to Re: Prevent writes on large objects in read-only transactions  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Prevent writes on large objects in read-only transactions
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Jun 1, 2022 at 1:29 AM Michael Paquier <michael@paquier.xyz> wrote:
>> Now the LO handling is quite old, and I am not sure if this is worth
>> changing as we have seen no actual complains about that with read-only
>> transactions, even if I agree on that it is inconsistent.  That could
>> cause more harm than the consistency benefit is worth :/

> The message that started this thread is literally a complaint about
> that exact thing.

Yeah.  I think this is more nearly "nobody had noticed" than "everybody
thinks this is okay".

> We seem to do this fairly often on this list, honestly. Someone posts
> a message saying "X is broken" and someone agrees and says it's a good
> idea to fix it and then a third person responds and says "let's not
> change it, no one has ever {noticed that,cared before,complained about
> it}".

It's always appropriate to consider backwards compatibility, and we
frequently don't back-patch a change because of worries about that.
However, if someone complains because we start rejecting this as of
v15 or v16, I don't think they have good grounds for that.  It's just
obviously wrong ... unless someone can come up with a plausible
definition of read-only-ness that excludes large objects.  I don't
say that that's impossible, but it sure seems like it'd be contorted
reasoning.  They're definitely inside-the-database entities.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: pg_upgrade test writes to source directory
Next
From: Tom Lane
Date:
Subject: plperl tests fail with latest Perl 5.36