Hi there,
Reading different references, I understand there is no need to vacuum a
table where just insert actions perform. So I'm surprising to see a table
with just historical data, which is vacuumed at the nightly cron with a
simple VACUUM VERBOSE on about 1/3 of indexes amount.
Take a look on the fragment log concerning this table:
INFO: vacuuming public.tbTEST
INFO: scanned index tbTEST_pkey to remove 1357614 row versions
DETAIL: CPU 0.31s/1.38u sec elapsed 4.56 sec.
INFO: tbTEST: removed 1357614 row versions in 16923 pages
DETAIL: CPU 0.70s/0.13u sec elapsed 2.49 sec.
INFO: index tbTEST_pkey now contains 2601759 row versions in 12384 pages
DETAIL: 1357614 index row versions were removed.
5415 index pages have been deleted, 2452 are currently reusable.
CPU 0.00s/0.00u sec elapsed 0.00 sec.
INFO: tbTEST: found 1357614 removable, 2601759 nonremovable row versions
in 49153 pages
DETAIL: 0 dead row versions cannot be removed yet.
There were 29900 unused item pointers.
16923 pages contain useful free space.
0 pages are entirely empty.
CPU 2.12s/1.87u sec elapsed 11.41 sec.
INFO: tbTEST: truncated 49153 to 32231 pages
DETAIL: CPU 0.23s/0.06u sec elapsed 0.31 sec.
I found the following statistics in pg_stat_user_tables:
n_tup_ins = 11444229
n_tup_upd = 0
n_tup_del = 0
The structure of the table is the following:
CREATE TABLE tbTEST
(
PK_ID integer NOT NULL DEFAULT nextval('tbTEST_PK_ID_seq'::regclass),
FK_SourceTypeID integer,
SourceID integer DEFAULT -1,
Message character varying(500) NOT NULL DEFAULT ''::character varying,
DateAndTime timestamp without time zone NOT NULL,
CONSTRAINT tbTEST_pkey PRIMARY KEY (PK_ID),
CONSTRAINT tbTEST_FK_SourceTypeID_fkey FOREIGN KEY (FK_SourceTypeID)
REFERENCES tbLISTS (PK_ID) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
Postgres version is 8.2.3.
What's happen ?
TIA,
Sabin
---(end of broadcast)---
TIP 6: explain analyze is your friend