Re: Where art thou pg_clog?

From: Casey Duncan <casey(at)pandora(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: PostgreSQL-general General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Where art thou pg_clog?
Date: 2007-02-16 17:38:34
Message-ID: A79B2F2F-91F2-4B60-990E-87205B84D4F7@pandora.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Feb 15, 2007, at 5:50 PM, Alvaro Herrera wrote:

> Casey Duncan wrote:
>>
>> On Feb 15, 2007, at 5:21 PM, Alvaro Herrera wrote:
>>
>>> Casey Duncan wrote:
>
>>> To fix the problem, set pg_database.datallowconn=true for template0,
>>> then connect to it and do a VACUUM FREEZE. Then set
>>> datallowconn=false
>>> again.
>>
>> Do you mean to do this after upgrading to 8.1.8? If I try than in
>> 8.1.5, I get (unsurprisingly):
>>
>> % psql -U postgres template0 -c "vacuum freeze"
>> ERROR: could not access status of transaction 2565134864
>> DETAIL: could not open file "pg_clog/098E": No such file or
>> directory
>
> Hum, yeah, I forgot to mention that you need to create the 098E
> pg_clog
> segment for that to work at all :-) Fill it with byte 0x55 till the
> needed position, which is the bit pattern for "all transactions
> committed". I'd make sure to remove it manually after the freeze is
> done, just in case! (I think the system would remove it at next
> checkpoint, but anyway.)

That seems a bit scary to do on a running production server. Could I
get away with dropping the template0 database and loading one from
another identical pg instance (or a new one) or will that freak
things out?

-Casey

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rafa Comino 2007-02-16 17:39:33 problems: slow queries with tsearch2
Previous Message Rafael Comino Mateos 2007-02-16 17:19:56 What about TSearch2