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
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 |