Re: How is statement level read consistency implemented?

From: Erik Jones <erik(at)myemma(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: "Roberts, Jon" <Jon(dot)Roberts(at)asurion(dot)com>, Thomas Kellerer <spam_eater(at)gmx(dot)net>, pgsql-general(at)postgresql(dot)org
Subject: Re: How is statement level read consistency implemented?
Date: 2008-04-22 14:21:51
Message-ID: 38398306-730D-490E-AB2C-ED7BBF243EF4@myemma.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Apr 22, 2008, at 8:35 AM, Alvaro Herrera wrote:

> Roberts, Jon wrote:
>
>>>> -With autovacuum, does it skip these rows still being referenced
>>>> in a transaction or does it wait?
>>>
>>> It skips them, the idea being that a future vacuum will remove them.
>>
>> Awesome. In a large data warehouse, the snapshot too old error is
>> very
>> annoying and I'm glad PostgreSQL is superior to Oracle in this
>> regard.
>> :)
>
> Well, the disadvantage of the PostgreSQL way is that it keeps dead
> rows
> around for longer than they're actually needed, and so it causes some
> problems in pathological conditions -- for example when setting up
> large
> replication sets with Slony, or during a pg_dump, no dead rows can be
> removed. Since the Slony thing can take a very long time, dead rows
> start to pile up in a way that can really harm performance.

In addition or rather, another potential issue, if you have a REALLY
long transaction running then you can risk transaction id wraparound.

Erik Jones

DBA | Emma®
erik(at)myemma(dot)com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David Wilson 2008-04-22 14:26:29 Re: table as log (multiple writers and readers)
Previous Message hubert depesz lubaczewski 2008-04-22 14:02:17 better error handling for COPY from stdin