WIP patch for system-catalog vacuuming via a relation map - Mailing list pgsql-hackers

From Tom Lane
Subject WIP patch for system-catalog vacuuming via a relation map
Date
Msg-id 6690.1265406982@sss.pgh.pa.us
Whole thread Raw
Responses Re: WIP patch for system-catalog vacuuming via a relation map
Re: WIP patch for system-catalog vacuuming via a relation map
List pgsql-hackers
Attached is the current state of my work on letting system catalogs
be processed by new-style VACUUM FULL (a/k/a CLUSTER).  I haven't done
the WAL support nor worried about interlocking concurrent updates of
relation map files, but it passes the regression tests and can do
VACUUM FULL of every system catalog.  So I think this is proof that
the approach is workable and there are no further gotchas to stumble
over in dark recesses of the system.   The patch adds about 1250 lines
of code, mostly in a new file relmapper.c, and will be bigger once
WAL support is added.  However, I anticipate that we will be able to
rip out probably three times that much code by eliminating VACUUM FULL
INPLACE (commands/vacuum.c is alone almost 4000 lines, though of course
it won't all go away).  So it will be a substantial net reduction in
code size, plus we will get the previously discussed benefits such as
removing reindex-in-place for shared indexes.

Barring objections I'm going to press ahead with completing and
committing this; then in a separate patch remove VACUUM FULL INPLACE.

            regards, tom lane


Attachment

pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: Confusion over Python drivers
Next
From: Alvaro Herrera
Date:
Subject: Re: WIP patch for system-catalog vacuuming via a relation map