Make GiST indexes on-disk compatible with 9.2 again.
Heikki Linnakangas <heikki.linnakangas@iki.fi>
Make GiST indexes on-disk compatible with 9.2 again. The patch that turned XLogRecPtr into a uint64 inadvertently changed the on-disk format of GiST indexes, because the NSN field in the GiST page opaque is an XLogRecPtr. That breaks pg_upgrade. Revert the format of that field back to the two-field struct that XLogRecPtr was before. This is the same we did to LSNs in the page header to avoid changing on-disk format. Bump catversion, as this invalidates any existing GiST indexes built on 9.3devel.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/gist/gist.c | modified | +6 −7 |
| src/backend/access/gist/gistget.c | modified | +1 −1 |
| src/backend/access/gist/gistvacuum.c | modified | +1 −1 |
| src/backend/access/gist/gistxlog.c | modified | +3 −3 |
| src/include/access/gist.h | modified | +9 −1 |
| src/include/catalog/catversion.h | modified | +1 −1 |
| src/include/storage/bufpage.h | modified | +19 −11 |