Re: Trying to understand page structures in PG

From: rob stone <floriparob(at)gmail(dot)com>
To: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>, 'Rakesh Kumar *EXTERN*' <rakeshkumar464a3(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Trying to understand page structures in PG
Date: 2016-04-06 15:35:04
Message-ID: 1459956904.7759.7.camel@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, 2016-04-06 at 10:33 +0000, Albe Laurenz wrote:

<snip>
> Every row has two system columns associated with it: xmin and xmax
>
> xmin is the transaction ID that created the row, while xmax is
> the transaction ID that removed the row.
>
> So when an update takes place, xmax of the original row and xmin
> of the new row are set to the transaction ID of the current
> transaction.
>

> Yours,
> Laurenz Albe
>
</snip>

Hello Laurenz,

Out of curiosity:-
1) If you only updated a column defined as BOOLEAN, DATE or TIMESTAMP,
the tuples physical size should be the same. Is it written back to the
same page with altered xmin, xmax values?

2) If you defined a table with a FILLFACTOR of say 70%, and there is
still space left on its page for the updated tuple, does the same
apply?

I am curious because of "while xmax is the transaction ID that
*removed* the row".

Not urgent.

Cheers,
rob

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jeff Janes 2016-04-06 15:41:51 Re: what database schema version management system to use?
Previous Message pedrovlf 2016-04-06 15:13:55 database is not accepting commands to avoid wraparound data loss in database