Kevin Grittner wrote: > Alvaro Herrera <alvhe...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers