pg_upgrade and regclass

Lists: pgsql-hackers
From: Bruce Momjian <bruce(at)momjian(dot)us>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: pg_upgrade and regclass
Date: 2011-12-02 15:56:57
Message-ID: 201112021556.pB2Fuv310018@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

In Postgres 8.4, pg_upgrade preserved pg_class relfilenodes by creating
files in the file system. In Postgres 9.0, we changed this by creating
pg_upgrade_support functions which allow us to directly preserve
pg_class.oids.

Unfortunately, check.c was not updated to reflect this and clusters
using regclass were prevented from being upgraded by pg_upgrade.

I have developed the attached patch to allow clusters using regclass to
be upgraded. I plan to apply it to PG 9.0, 9.1, and HEAD.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachment Content-Type Size
/rtmp/pg_upgrade text/x-diff 2.5 KB

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_upgrade and regclass
Date: 2011-12-05 21:46:58
Message-ID: 201112052146.pB5LkwD17365@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce Momjian wrote:
> In Postgres 8.4, pg_upgrade preserved pg_class relfilenodes by creating
> files in the file system. In Postgres 9.0, we changed this by creating
> pg_upgrade_support functions which allow us to directly preserve
> pg_class.oids.
>
> Unfortunately, check.c was not updated to reflect this and clusters
> using regclass were prevented from being upgraded by pg_upgrade.
>
> I have developed the attached patch to allow clusters using regclass to
> be upgraded. I plan to apply it to PG 9.0, 9.1, and HEAD.

I have applied the attached patch to all relevant releases. I did a
more modest single-line code change for back branches.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachment Content-Type Size
/rtmp/pg_upgrade text/x-diff 3.4 KB

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_upgrade and regclass
Date: 2011-12-05 21:48:22
Message-ID: 201112052148.pB5LmMW17747@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Bruce Momjian wrote:
> Bruce Momjian wrote:
> > In Postgres 8.4, pg_upgrade preserved pg_class relfilenodes by creating
> > files in the file system. In Postgres 9.0, we changed this by creating
> > pg_upgrade_support functions which allow us to directly preserve
> > pg_class.oids.
> >
> > Unfortunately, check.c was not updated to reflect this and clusters
> > using regclass were prevented from being upgraded by pg_upgrade.
> >
> > I have developed the attached patch to allow clusters using regclass to
> > be upgraded. I plan to apply it to PG 9.0, 9.1, and HEAD.
>
> I have applied the attached patch to all relevant releases. I did a
> more modest single-line code change for back branches.

Oh, I forgot to mention that this bug report came to me privately via
EntepriseDB testing.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +