Re: pg_upgrade bug found!

From: bricklen <bricklen(at)gmail(dot)com>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_upgrade bug found!
Date: 2011-04-09 02:20:34
Message-ID: BANLkTikRwLcEJ6==VtcTHaUHc4Pai2WqDA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Apr 8, 2011 at 7:11 PM, Stephen Frost <sfrost(at)snowman(dot)net> wrote:
> bricklen,
>
> * bricklen (bricklen(at)gmail(dot)com) wrote:
>> I looked deeper into our backup archives, and it appears that I do
>> have the clog file reference in the error message "DETAIL:  Could not
>> open file "pg_clog/04BE": No such file or directory."
>
> Great!  And there's no file in pg_clog which matches that name (or
> exist which are smaller in value), right?
>
>> It exists in an untouched backup directory that I originally made when
>> I set up the backup and ran pg_upgrade. I'm not sure if it is from
>> version 8.4 or 9.0.2 though. Is it safe to just copy it into my
>> production pg_clog dir and restart?
>
> It should be, provided you're not overwriting any files or putting a
> clog file in place which is greater than the other clog files in that
> directory.

It appears that there are no files lower.

Missing clog: 04BE

production pg_clog dir:
ls -lhrt 9.0/data/pg_clog
total 38M
-rw------- 1 postgres postgres 256K Jan 25 21:04 04BF
-rw------- 1 postgres postgres 256K Jan 26 12:35 04C0
-rw------- 1 postgres postgres 256K Jan 26 20:58 04C1
-rw------- 1 postgres postgres 256K Jan 27 13:02 04C2
-rw------- 1 postgres postgres 256K Jan 28 01:00 04C3
...

old backup pg_clog dir (possibly v8.4)
...
-rw------- 1 postgres postgres 256K Jan 23 21:11 04BB
-rw------- 1 postgres postgres 256K Jan 24 08:56 04BC
-rw------- 1 postgres postgres 256K Jan 25 06:32 04BD
-rw------- 1 postgres postgres 256K Jan 25 10:58 04BE
-rw------- 1 postgres postgres 256K Jan 25 20:44 04BF
-rw------- 1 postgres postgres 8.0K Jan 25 20:54 04C0

So, if I have this right, my steps to take are:
- copy the backup 04BE to production pg_clog dir
- restart the database
- run Bruce's script

Does that sound right? Has anyone else experienced this? I'm leery of
testing this on my production db, as our last pg_dump was from early
this morning, so I apologize for being so cautious.

Thanks,

Bricklen

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message bricklen 2011-04-09 02:53:05 Re: pg_upgrade bug found!
Previous Message Robert Haas 2011-04-09 02:12:58 Re: pgindent