vacuums and ctid

From: Gaetano Mendola <mendola(at)bigfoot(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: vacuums and ctid
Date: 2004-08-17 13:43:38
Message-ID: cft22c$i1p$1@floppy.pyrenet.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all,
looking at how ctid is used is clear to me:

insert line (A) in a table; ==> ctid = (0, 1);
rollback an update for the line (A);
insert a line (B) in the table; ==> ctid = (0, 3);
vacuum full;
insert a line (C) in the table; ==> ctid = (0, 2);

I was expecting this for a normal vacuum not for a vacuum full.

for a vacuum full I was expecting:

insert line (A) in a table; ==> ctid = (0, 1);
rollback an update for the line (A);
insert a line (B) in the table; ==> ctid = (0, 3);
vacuum full; ( line B moved in ctid ( 0, 2) )
insert a line (C) in the table; ==> ctid = (0, 3);

could this due the fact that moving that tuple will not
save any storage space ?

If not, am I missing something ?

Regards
Gaetano Mendola

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2004-08-17 14:34:21 tablespace and sequences?
Previous Message Devrim GUNDUZ 2004-08-17 11:52:01 Re: psql's \l