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/storage/ipc/ipci.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src/backend/storage/ipc/ipci.c') diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c index d388321e9c..0365e56609 100644 --- a/src/backend/storage/ipc/ipci.c +++ b/src/backend/storage/ipc/ipci.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/ipc/ipci.c,v 1.96 2008/05/12 00:00:50 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/storage/ipc/ipci.c,v 1.97 2008/09/30 10:52:13 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -26,7 +26,6 @@ #include "postmaster/bgwriter.h" #include "postmaster/postmaster.h" #include "storage/bufmgr.h" -#include "storage/freespace.h" #include "storage/ipc.h" #include "storage/pg_shmem.h" #include "storage/pmsignal.h" @@ -110,7 +109,6 @@ CreateSharedMemoryAndSemaphores(bool makePrivate, int port) size = add_size(size, ProcArrayShmemSize()); size = add_size(size, BackendStatusShmemSize()); size = add_size(size, SInvalShmemSize()); - size = add_size(size, FreeSpaceShmemSize()); size = add_size(size, BgWriterShmemSize()); size = add_size(size, AutoVacuumShmemSize()); size = add_size(size, BTreeShmemSize()); @@ -203,11 +201,6 @@ CreateSharedMemoryAndSemaphores(bool makePrivate, int port) */ CreateSharedInvalidationState(); - /* - * Set up free-space map - */ - InitFreeSpaceMap(); - /* * Set up interprocess signaling mechanisms */ -- cgit v1.2.1