A quick survey of our various index AMs reveals that:
1. btree and hash indexes have a metapage that begins with a 32-bit
magic number, followed by a 32-bit version number.
2. spgist has a metapage with a version number, but no magic number.
3. gin has a metapage with a version number that is not at the
beginning of the structure, and no magic number.
4. gist indexes have no metapage at all.
Since we haven't actually released spgist yet, I'm wondering if it
should be revised to look more like btree and hash - that is, add a
32-bit version number immediately following the magic number. All
experience hath shown that it is often much more work to add such
things later.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company