Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, the
free space information is stored in a dedicated FSM relation fork, with each relation (except for hash indexes; they don't use FSM). This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any trace of them from the backend, initdb, and documentation. Rewrite contrib/pg_freespacemap to match the new FSM implementation. Also introduce a new variant of the get_raw_page(regclass, int4, int4) function in contrib/pageinspect that let's you to return pages from any relation fork, and a new fsm_page_contents() function to inspect the new FSM pages.
Showing
- contrib/pageinspect/Makefile 2 additions, 2 deletionscontrib/pageinspect/Makefile
- contrib/pageinspect/fsmfuncs.c 61 additions, 0 deletionscontrib/pageinspect/fsmfuncs.c
- contrib/pageinspect/pageinspect.sql.in 15 additions, 2 deletionscontrib/pageinspect/pageinspect.sql.in
- contrib/pageinspect/rawpage.c 9 additions, 3 deletionscontrib/pageinspect/rawpage.c
- contrib/pg_freespacemap/pg_freespacemap.sql.in 15 additions, 33 deletionscontrib/pg_freespacemap/pg_freespacemap.sql.in
- doc/src/sgml/acronyms.sgml 2 additions, 2 deletionsdoc/src/sgml/acronyms.sgml
- doc/src/sgml/config.sgml 1 addition, 75 deletionsdoc/src/sgml/config.sgml
- doc/src/sgml/pageinspect.sgml 42 additions, 7 deletionsdoc/src/sgml/pageinspect.sgml
- doc/src/sgml/pgfreespacemap.sgml 80 additions, 203 deletionsdoc/src/sgml/pgfreespacemap.sgml
- doc/src/sgml/ref/vacuum.sgml 2 additions, 6 deletionsdoc/src/sgml/ref/vacuum.sgml
- doc/src/sgml/release.sgml 2 additions, 3 deletionsdoc/src/sgml/release.sgml
- doc/src/sgml/runtime.sgml 1 addition, 11 deletionsdoc/src/sgml/runtime.sgml
- doc/src/sgml/storage.sgml 49 additions, 2 deletionsdoc/src/sgml/storage.sgml
- src/backend/access/gin/gininsert.c 5 additions, 1 deletionsrc/backend/access/gin/gininsert.c
- src/backend/access/gin/ginutil.c 3 additions, 2 deletionssrc/backend/access/gin/ginutil.c
- src/backend/access/gin/ginvacuum.c 9 additions, 26 deletionssrc/backend/access/gin/ginvacuum.c
- src/backend/access/gist/gist.c 5 additions, 1 deletionsrc/backend/access/gist/gist.c
- src/backend/access/gist/gistutil.c 3 additions, 2 deletionssrc/backend/access/gist/gistutil.c
- src/backend/access/gist/gistvacuum.c 9 additions, 28 deletionssrc/backend/access/gist/gistvacuum.c
- src/backend/access/heap/heapam.c 5 additions, 1 deletionsrc/backend/access/heap/heapam.c
Loading
Please register or sign in to comment