Re: Where art thou pg_clog? - Mailing list pgsql-general

From Casey Duncan
Subject Re: Where art thou pg_clog?
Date
Msg-id 6DCDE045-C872-4632-9860-9CD9F79EA133@pandora.com
Whole thread Raw
In response to Re: Where art thou pg_clog?  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: Where art thou pg_clog?  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-general
On Feb 15, 2007, at 2:44 PM, Alvaro Herrera wrote:

> Casey Duncan wrote:
>>
>> On Feb 15, 2007, at 1:46 PM, Alvaro Herrera wrote:
>>> [..]
>>> Can you relate it to autovacuum?
>>
>> Maybe. Here's what I get when I crank up the logging to debug4:
>>
>> 2007-02-15 14:20:48.771 PST DEBUG:  StartTransaction
>> 2007-02-15 14:20:48.771 PST DEBUG:  name: unnamed; blockState:
>> DEFAULT; state: INPROGR, xid/subid/cid: 3429052708/1/0, nestlvl: 1,
>> children: <>
>> 2007-02-15 14:20:48.771 PST DEBUG:  vacuuming
>> "pg_catalog.pg_statistic"
>> 2007-02-15 14:20:48.771 PST ERROR:  could not access status of
>> transaction 2565134864
>> 2007-02-15 14:20:48.772 PST DETAIL:  could not open file "pg_clog/
>> 098E": No such file or directory
>> 2007-02-15 14:20:48.772 PST DEBUG:  proc_exit(0)
>> 2007-02-15 14:20:48.772 PST DEBUG:  shmem_exit(0)
>> 2007-02-15 14:20:48.773 PST DEBUG:  exit(0)
>> 2007-02-15 14:20:48.775 PST DEBUG:  reaping dead processes
>>
>> does that imply that it is the pg_statistic table that is hosed?
>>
>> Interestingly I can manually vacuum that table in all of the
>> databases on this machine without provoking the error.
>
> Except template0 I presume?  Is this autovacuum running in template0
> perchance?  I note that 800 million transactions have passed since the
> Xid in the error message was current.

Wouldn't you know it! A little farther back up in the log file:

2007-02-15 14:20:48.480 PST LOG:  autovacuum: processing database
"template0"
2007-02-15 14:20:48.480 PST DEBUG:  StartTransaction
2007-02-15 14:20:48.480 PST DEBUG:  name: unnamed; blockState:
DEFAULT; state: INPROGR, xid/subid/cid: 3429052629/1/0, nestlvl: 1,
children: <>
2007-02-15 14:20:48.481 PST DEBUG:  autovacuum: VACUUM FREEZE whole
database
2007-02-15 14:20:48.481 PST DEBUG:  CommitTransaction
2007-02-15 14:20:48.481 PST DEBUG:  name: unnamed; blockState:
STARTED; state: INPROGR, xid/subid/cid: 3429052629/1/0, nestlvl: 1,
children: <>

fwiw, I did a cluster-wide vacuum on 1/20/2007. Not sure if that has
any impact on anything, just thought I'd throw it out there.

I'm curious how template0 got stomped on. Certainly nothing's been
changing it. Of course it might just be some random bug so the fact
it landed on a file for template0 could be completely arbitrary.
Anyhow it does seem curious to me.

-Casey

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: postgresql 8.2 Installation error at "gmake"
Next
From: Tom Lane
Date:
Subject: Re: ROLE INHERIT