Re: I/O on select count(*) - Mailing list pgsql-performance

From Alvaro Herrera
Subject Re: I/O on select count(*)
Date
Msg-id 20080516210050.GL13061@alvh.no-ip.org
Whole thread Raw
In response to Re: I/O on select count(*)  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-performance
Alvaro Herrera wrote:

> pg_clog is allocated in pages of 8kB apiece(*).  On allocation, pages are
> zeroed, which is the bit pattern for "transaction in progress".  So when
> a transaction starts, it only needs to ensure that the pg_clog page that
> corresponds to it is allocated, but it need not write anything to it.

Of course, in 8.3 it's not when the transaction starts, but when the Xid
is assigned (i.e. when the transaction first calls a read-write
command).  In previous versions it happens when the first snapshot is
taken (i.e. normally on the first command of any type, with very few
exceptions.)

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

pgsql-performance by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: Regexps - never completing join.
Next
From: Alvaro Herrera
Date:
Subject: Re: Please ignore ...