Re: [TLM] Re: How to insert on duplicate key? - Mailing list pgsql-general

From Trevor Talbot
Subject Re: [TLM] Re: How to insert on duplicate key?
Date
Msg-id 90bce5730712281430g1b85ab5au41ff1d34187a24b8@mail.gmail.com
Whole thread Raw
In response to Re: [TLM] Re: How to insert on duplicate key?  (Robert Treat <xzilla@users.sourceforge.net>)
List pgsql-general
On 12/28/07, Robert Treat <xzilla@users.sourceforge.net> wrote:
> On Thursday 27 December 2007 12:23, Samantha Atkins wrote:

> > Since it is known to be dead
> > is it automatically removed when there are no live transaction that
> > reference or may reference it and its data page space marked available
> > for new rows?  If not, why not?   I'm dredging my mind for stuff from
> > my RDBMS implementation grad course a very long time ago.

> The problem is you have determined in your mind that a row is "known dead"
> without explination of how that would actually be determined. A given
> transaction doesn't have a way to determine if there are live transaction
> looking at the row, that would require quite a bit of knowledge about what
> else is occuring in the system to be able to determine that. That level of
> knowledge/complexity is what vacuum takes care of.

If you're familiar with the intricacies of the garbage collection vs
realloc/free debate surrounding programming languages, especially in
multithreaded environments, this is basically the same thing applied
to disk storage. PostgreSQL implements garbage collection. Its methods
for doing it automatically are still being refined, hence the advice
on manual tuning for specific workloads.

pgsql-general by date:

Previous
From: Robert Treat
Date:
Subject: Re: [TLM] Re: How to insert on duplicate key?
Next
From: Greg Smith
Date:
Subject: Re: [TLM] Re: How to insert on duplicate key?