Re: preserving forensic information when we freeze

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Jim Nasby <jim(at)nasby(dot)net>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: preserving forensic information when we freeze
Date: 2013-12-26 23:25:41
Message-ID: CA+TgmoZtedJr4uY_jgtbekbVbRLAGySwY_X7uXo5fyhf+rqt2Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Dec 24, 2013 at 6:22 AM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> On 2013-12-23 14:15:29 -0500, Robert Haas wrote:
>> On Mon, Dec 23, 2013 at 1:57 PM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
>> > Well, all of the fundamental changes (combocids, the initial multixact
>> > introduction) have been quite some time ago. I think backward compat has
>> > a much higher value these days (I also don't see much point in looking
>> > at cmin/cmax for anything but diagnostic purposes). I don't think any of
>> > the usecases I've seen would be broken by either fk-locks (multixacts
>> > have been there before, doesn't matter much that they now contain
>> > updates) nor by forensic freezing. The latter because they really only
>> > checked that xmin/xmax were the same, and we hopefully haven't broken
>> > that...
>> >
>> > But part of my point really was the usability, not only the
>> > performance. Requiring LATERAL queries to be usable sensibly causes a
>> > "Meh" from my side ;)
>>
>> I simply can't imagine that we're going to want to add a system column
>> every time we change something, or even enough of them to cover all of
>> the things we've already got. We'd need at least infomask, infomask2,
>> and hoff, and maybe some functions for peeking through mxacts to find
>> the updater and locker XIDs and lock modes. With a couple of
>> functions we can do all that and not look back.
>
> If system columns don't have an overhead anymore, I fail to see the
> advantage that functions have over simply accessing parts of the row in
> the normal way parts of rows are accessed. The only reasoning I can see
> is lessening the likelihood of conflicts - but that's essentially only
> solved via namespaced pg_ prefixes for functions as well.

I dunno, I just have an uneasy feeling about it. I guess if
everyone's happy to add pg_infomask and pg_infomask2 as new system
columns, we could go that route. For my part, I think that functions
are a real extensibility mechanism and hidden system columns are a
crock I'd rather not propagate. But I just work here, and I'll give
way if the consensus is otherwise.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2013-12-26 23:31:44 Re: ALTER SYSTEM SET command to change postgresql.conf parameters
Previous Message Robert Haas 2013-12-26 23:18:23 Re: "stuck spinlock"