Re: BUG #6733: All Tables Empty After pg_upgrade (PG 9.2.0 beta 2)

From: Mike Wilson <mfwilson(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6733: All Tables Empty After pg_upgrade (PG 9.2.0 beta 2)
Date: 2012-07-18 22:39:31
Message-ID: 64AEA226-6CF1-4B5E-B78F-062BEB4CCD3B@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Tom, after patching pg_upgrade now runs successfully. I noticed that this patch had been applied since yesterday to the REL9_2_STABLE so I also tested with a git pull without the patch that appears to work also. I think issue has been resolved for me, thanks so much! You guys rock!

Mike Wilson
mfwilson(at)gmail(dot)com

On Jul 17, 2012, at 9:31 PM, Tom Lane wrote:

> Bruce Momjian <bruce(at)momjian(dot)us> writes:
>> I am using git head for testing. Tom sees a few things odd in
>> load_directory() that might be causing some problems on Solaris, and
>> this is new code for 9.2 for Solaris, so that might explain it. I think
>> we need Tom to finish and then if you can grab our git source and test
>> that, it would be great!
>
> The only thing I see that looks likely to represent a platform-specific
> issue is the entrysize calculation. Mike, just out of curiosity, could
> you see if the attached patch makes things better for you?
>
> regards, tom lane
>
> diff --git a/contrib/pg_upgrade/file.c b/contrib/pg_upgrade/file.c
> index 1dd3722142c9e83c1ec228099c3a3fd302a2179b..c886a67df43792a1692eec6b3b90238413e9f844 100644
> *** a/contrib/pg_upgrade/file.c
> --- b/contrib/pg_upgrade/file.c
> *************** load_directory(const char *dirname, stru
> *** 259,265 ****
> return -1;
> }
>
> ! entrysize = sizeof(struct dirent) - sizeof(direntry->d_name) +
> strlen(direntry->d_name) + 1;
>
> (*namelist)[name_num] = (struct dirent *) malloc(entrysize);
> --- 259,265 ----
> return -1;
> }
>
> ! entrysize = offsetof(struct dirent, d_name) +
> strlen(direntry->d_name) + 1;
>
> (*namelist)[name_num] = (struct dirent *) malloc(entrysize);

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tatsuo Ishii 2012-07-18 23:16:26 Re: main log encoding problem
Previous Message Alexander Law 2012-07-18 15:16:16 Re: main log encoding problem

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2012-07-18 23:16:26 Re: main log encoding problem
Previous Message Tom Lane 2012-07-18 21:56:32 Re: b-tree index search algorithms