From 15c121b3ed7eb2f290e19533e41ccca734d23574 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 30 Sep 2008 10:52:14 +0000 Subject: 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. --- src/backend/tcop/postgres.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'src/backend/tcop/postgres.c') diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 8449cb4d4c1..c9e7b5e6267 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.556 2008/08/19 18:30:04 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.557 2008/09/30 10:52:13 heikki Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -57,7 +57,6 @@ #include "postmaster/autovacuum.h" #include "rewrite/rewriteHandler.h" #include "storage/bufmgr.h" -#include "storage/freespace.h" #include "storage/ipc.h" #include "storage/proc.h" #include "storage/sinval.h" @@ -3258,13 +3257,6 @@ PostgresMain(int argc, char *argv[], const char *username) StartupXLOG(); on_shmem_exit(ShutdownXLOG, 0); - /* - * Read any existing FSM cache file, and register to write one out at - * exit. - */ - LoadFreeSpaceMap(); - on_shmem_exit(DumpFreeSpaceMap, 0); - /* * We have to build the flat file for pg_database, but not for the * user and group tables, since we won't try to do authentication. -- cgit v1.2.3