От: Andres Freund
Тема: Re: the XID question
Дата: ,
Msg-id: 201101191931.52841.andres@anarazel.de
(см: обсуждение, исходный текст)
Ответ на: Re: the XID question  (Chris Browne)
Ответы: Re: the XID question  ("Kevin Grittner")
Список: pgsql-performance

Скрыть дерево обсуждения

the XID question  ("Charles.Hou", )
 Re: the XID question  ("Charles.Hou", )
 Re: the XID question  (Filip Rembiałkowski, )
  Re: the XID question  ("Kevin Grittner", )
 Re: the XID question  (Chris Browne, )
  Re: the XID question  (Andres Freund, )
   Re: the XID question  ("Kevin Grittner", )
    Re: the XID question  (Greg Smith, )
 Re: the XID question  ("Charles.Hou", )
  Re: the XID question  ("Kevin Grittner", )
   Re: the XID question  (Robert Haas, )
 Re: the XID question  ("Charles.Hou", )

On Wednesday, January 19, 2011 07:06:58 PM Chris Browne wrote:
>  ("Kevin Grittner") writes:
> > Filip Rembia*kowski<> wrote:
> >> 2011/1/19 Charles.Hou <>:
> >>> " select * from mybook" SQL command also increase the XID ?
> >>
> >> Yes. Single SELECT is a transaction. Hence, it needs a transaction
> >> ID.
> >
> > No, not in recent versions of PostgreSQL.  There's virtual
> > transaction ID, too; which is all that's needed unless the
> > transaction writes something.
> >
> > Also, as a fine point, if you use explicit database transactions
> > (with BEGIN or START TRANSACTION) then you normally get one XID for
> > the entire transaction, unless you use SAVEPOINTs.
>
> Erm, "not *necessarily* in recent versions of PostgreSQL."
>
> A read-only transaction won't consume XIDs, but if you don't expressly
> declare it read-only, they're still liable to get eaten...
No. The Xid is generally only allocated at the first place a real xid is
needed. See GetCurrentTransactionId, AssignTransactionId in xact.c and the
caller of the former.

Andres


В списке pgsql-performance по дате сообщения:

От: Greg Smith
Дата:
Сообщение: Re: the XID question
От: Craig Ringer
Дата:
Сообщение: Re: Migrating to Postgresql and new hardware