Обсуждение: free space map

Поиск
Список
Период
Сортировка

free space map

От
"Chris Hoover"
Дата:
Is there anyway to query the free space map and see  how many entries there are for a specific table? 

We are starting to have some performance issues since our upgrade to 8.1 (running 8.1.3).  However I can vacuum one table and the issues are temporarily solved.  I am trying to do some research and would like to know what the fsm looks like before and after I vacuum this table.

Is this possible?

Thanks,

Chris
RH 4
PG 8.1.3

Re: free space map

От
Alvaro Herrera
Дата:
Chris Hoover wrote:
> Is there anyway to query the free space map and see  how many entries there
> are for a specific table?
>
> We are starting to have some performance issues since our upgrade to
> 8.1(running
> 8.1.3).  However I can vacuum one table and the issues are temporarily
> solved.  I am trying to do some research and would like to know what the fsm
> looks like before and after I vacuum this table.

In CVS HEAD there is a pg_freespacemap contrib module that may do what
you need.  You'd have to "backport" it to 8.1 though; it doesn't compile
as-is.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: free space map

От
Tom Lane
Дата:
Alvaro Herrera <alvherre@commandprompt.com> writes:
> In CVS HEAD there is a pg_freespacemap contrib module that may do what
> you need.  You'd have to "backport" it to 8.1 though; it doesn't compile
> as-is.

Looking at the CVS history, I think the main point is that freespace.c
did not formerly expose its internal data structures; the patch moved a
lot of declarations into freespace.h so that the contrib code could get
at them.  You'd need to modify the 8.1 sources, but not by much.

            regards, tom lane