Re: autovacuum and default_transaction_isolation

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: "Dan Ports" <drkp(at)csail(dot)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: autovacuum and default_transaction_isolation
Date: 2011-11-30 04:01:45
Message-ID: 24537.1322625705@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Shouldn't we make the autovac launcher use READ COMMITTED, too?

> Anything which starts a transaction and doesn't need to use a
> transaction-lifetime snapshot plus SIRead locks to achieve truly
> serializable behavior should probably be ignoring
> default_transaction_isolation and forcing READ COMMITTED. I would
> think that should include the autovac launcher. Probably *any* of
> the background processes which can get a start a transaction should
> force READ COMMITTED.

AFAIK only the autovac processes can run transactions. We'll need to
keep this in mind if we ever create other background processes that
can do so, though.

For the moment I duplicated the existing logic of overriding relevant
GUC variables in the process's Main() function, but I wonder if we ought
to be setting these things in some more centralized place, like
InitPostgres(). That function already knows quite a bit about what
sort of process it's initializing ...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joe Abbate 2011-11-30 04:21:59 Re: Reserved words and delimited identifiers
Previous Message Tom Lane 2011-11-30 03:55:06 Re: autovacuum and default_transaction_isolation