max_fsm_pages
If max_fsm_pages is too small and I have space not reclaimed by vacuum, if I
increase max_fsm_pages and restart postmaster, will the next VACUUM ANALYZE
relcaim all overlooked pages or must I do a VACUUM FULL?
Wes
If you increase max_fsm_pages to a large enough number then the next
vacuum analyze will make all the pages with free space available to be
reused. A normal VACUUM does not actually reclaim space (unless it's at
the end of the table I think), it only marks the space as reuseable.
VACUUM FULL will reclaim space immediately.
Matthew
wespvp@syntegra.com wrote:
Show quoted text
If max_fsm_pages is too small and I have space not reclaimed by vacuum, if I
increase max_fsm_pages and restart postmaster, will the next VACUUM ANALYZE
relcaim all overlooked pages or must I do a VACUUM FULL?Wes
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
On Thu, 2004-07-01 at 11:45, wespvp@syntegra.com wrote:
If max_fsm_pages is too small and I have space not reclaimed by vacuum, if I
increase max_fsm_pages and restart postmaster, will the next VACUUM ANALYZE
relcaim all overlooked pages or must I do a VACUUM FULL?
Let's say you have a table with 1,000 rows, but you've deleted 1,000,000
over the past year, and most of those are unclaimed. Regular vacuum
will put those 900,000 odd pages into the FSM, and the database can use
them. However, scans on this table will still be mostly reading empty
space.
So, to collapse the table back down to something reasonable, you'll need
to do a vacuum full, then regular vacuums should keep things tight from
then on.
On 7/1/04 4:00 PM, "Scott Marlowe" <smarlowe@qwest.net> wrote:
Let's say you have a table with 1,000 rows, but you've deleted 1,000,000
over the past year, and most of those are unclaimed. Regular vacuum
will put those 900,000 odd pages into the FSM, and the database can use
them. However, scans on this table will still be mostly reading empty
space.So, to collapse the table back down to something reasonable, you'll need
to do a vacuum full, then regular vacuums should keep things tight from
then on.
Right. But let's say max_fsm_pages is set to the default (20,000) and that
is enough for 100,000 rows and I do a VACUUM ANALYZE. If I understand it
right, only 100,000 will be marked as available for reuse (I probably should
not have used the word 'reclaim' in the original email). If I run VACUUM
ANALYZE again, will there still be only 100,000 available for reuse, or will
an additional 100,000 be made available for a total of 200,000?
If I bump up max_fsm_pages to 1,000,000 and run VACUUM ANALYZE, then would
all 900,000 rows then be available for reused? Based on what Chris said,
the answer to the second question is 'yes' - On any given VACUUM ANALYZE it
will be able to free up to the current max_fsm_pages worth of rows. I'm not
sure about the first question, though. I'm guessing that 800,000 would
remain unavailable regardless of how many times you ran VACUUM ANALYZE -
that max_fsm_pages is the total amount of free space it will track at one
time?
Wes
<wespvp@syntegra.com> writes:
If I bump up max_fsm_pages to 1,000,000 and run VACUUM ANALYZE, then would
all 900,000 rows then be available for reused?
VACUUM will fill whatever FSM space is available. You do have to
restart the postmaster to get the increased FSM size to be allocated,
but you don't have to do any magic pushups beyond that.
regards, tom lane
"TL" == Tom Lane <tgl@sss.pgh.pa.us> writes:
TL> VACUUM will fill whatever FSM space is available. You do have to
TL> restart the postmaster to get the increased FSM size to be allocated,
TL> but you don't have to do any magic pushups beyond that.
Do you need a full restart or will a simple reload configuration
suffice? Downtime is hard for me ;-)
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D. Khera Communications, Inc.
Internet: khera@kciLink.com Rockville, MD +1-301-869-4449 x806
AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/
Vivek Khera <khera@kcilink.com> writes:
"TL" == Tom Lane <tgl@sss.pgh.pa.us> writes:
TL> VACUUM will fill whatever FSM space is available. You do have to
TL> restart the postmaster to get the increased FSM size to be allocated,
TL> but you don't have to do any magic pushups beyond that.
Do you need a full restart or will a simple reload configuration
suffice? Downtime is hard for me ;-)
I said "restart the postmaster", and "restart the postmaster" is
what I meant...
regards, tom lane