Re: truncating pg_multixact/members - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: truncating pg_multixact/members
Date
Msg-id 20131229010830.GR22570@eldon.alvh.no-ip.org
Whole thread Raw
In response to Re: truncating pg_multixact/members  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-hackers
Kevin Grittner wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
> 
> > 1. slru.c doesn't consider file names longer than 4 hexadecimal chars.
> 
> > Fixing (1) is simple: we can have each SLRU user declare how many digits
> > to have in file names.  All existing users but pg_multixact/members
> > should declare 4 digits; that one should declare 5.  That way, the
> > correct number of zeroes are allocated at the start point and we get
> > nice, equal-width file names.  Eventually, predicate.c can change to
> > wider file names and get rid of some strange code it has to deal with
> > overrun.
> 
> That would be nice.
> 
> There would be the issue of how to deal with pg_upgrade, though. If
> I remember correctly, there is no strong reason not to blow away
> any existing files in the pg_serial subdirectory at startup (the
> way NOTIFY code does), and at one point I had code to do that.  I
> think we took that code out because the files would be deleted
> "soon enough" anyway.  Barring objection, deleting them at startup
> seems like a sane way to handle pg_upgrade issues when we do
> increase the filename size.

Agreed.  It's easy to have the files deleted at startup now that the
truncation stuff uses a callback.  There is already a callback that's
used to delete all files, so you won't need to write any code to make it
behave that way.

FWIW for pg_multixact/members during pg_upgrade from 9.3 to 9.4 we will
need to rename existing files, prepending a zero to each file whose name
is four chars in length.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [BUG FIX] Version number expressed in octal form by mistake
Next
From: Tom Lane
Date:
Subject: Re: trailing comment ghost-timing