BUG #14236: pg_upgrade failed

Started by Nonamealmost 10 years ago3 messagesbugs
Jump to latest
#1Noname
nqtien310@gmail.com

The following bug has been logged on the website:

Bug reference: 14236
Logged by: Tien Nguyen
Email address: nqtien310@gmail.com
PostgreSQL version: 9.4.1
Operating system: Linux
Description:

To whom this might concern,

I upgraded Postgres from 8.4 -> 9.4 a couple of days ago using pg_upgrade
with -k ( hard link ) option
- /usr/pgsql-9.4/bin/pg_upgrade -k -d /var/lib/pgsql/data -D
/var/lib/pgsql/9.4/data -b /usr/bin/ -B /usr/pgsql-9.4/bin/

It worked fine until yesterday, the new database seem to be corrupted, it
returns a very weird error (I forgot to capture those errors). Therefor I
have to delete the new cluster
- rm -rf /var/lib/pgsql/9.4/data

And run the upgrade again, this time I get the following error
- pg_dump: query to get data of sequence
"asset_tracker_notifications_id_seq" returned 0 rows (expected 1)

There's a couple of things that are confusing me
- Why I can't run the upgrade now, is there any change this can be fixed
?
- What cause the new database to be corrupted, is it related to the -k (
hard link ) option ?
- What is the correct way to use the -k ( hard link ) options ?

Any help will be highly appreciated, we're gonna do the real upgrade on
Production next week , so this is very urgent, thanks in advanced

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Bruce Momjian
bruce@momjian.us
In reply to: Noname (#1)
Re: BUG #14236: pg_upgrade failed

On Fri, Jul 8, 2016 at 04:28:48AM +0000, nqtien310@gmail.com wrote:

The following bug has been logged on the website:

Bug reference: 14236
Logged by: Tien Nguyen
Email address: nqtien310@gmail.com
PostgreSQL version: 9.4.1
Operating system: Linux
Description:

To whom this might concern,

I upgraded Postgres from 8.4 -> 9.4 a couple of days ago using pg_upgrade
with -k ( hard link ) option
- /usr/pgsql-9.4/bin/pg_upgrade -k -d /var/lib/pgsql/data -D
/var/lib/pgsql/9.4/data -b /usr/bin/ -B /usr/pgsql-9.4/bin/

It worked fine until yesterday, the new database seem to be corrupted, it
returns a very weird error (I forgot to capture those errors). Therefor I
have to delete the new cluster
- rm -rf /var/lib/pgsql/9.4/data

And run the upgrade again, this time I get the following error
- pg_dump: query to get data of sequence
"asset_tracker_notifications_id_seq" returned 0 rows (expected 1)

There's a couple of things that are confusing me
- Why I can't run the upgrade now, is there any change this can be fixed
?
- What cause the new database to be corrupted, is it related to the -k (
hard link ) option ?
- What is the correct way to use the -k ( hard link ) options ?

Any help will be highly appreciated, we're gonna do the real upgrade on
Production next week , so this is very urgent, thanks in advanced

The documentation says:

If you use link mode, the upgrade will be much faster (no file
copying) and use less disk space, but you will not be able to access
your old cluster once you start the new cluster after the upgrade.

"You can't access" also means can't re-upgrade the cluster.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+                     Ancient Roman grave inscription +

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#3Michael Paquier
michael@paquier.xyz
In reply to: Bruce Momjian (#2)
Re: BUG #14236: pg_upgrade failed

On Fri, Jul 29, 2016 at 11:49 AM, Bruce Momjian <bruce@momjian.us> wrote:

Any help will be highly appreciated, we're gonna do the real upgrade on
Production next week , so this is very urgent, thanks in advanced

The documentation says:

If you use link mode, the upgrade will be much faster (no file
copying) and use less disk space, but you will not be able to access
your old cluster once you start the new cluster after the upgrade.

"You can't access" also means can't re-upgrade the cluster.

Which is why you need to be careful and take a backup of the old
cluster's PGDATA when you use --link. Then in case of upgrade failures
you can fallback to that easily. Using --link has the advantage of
speed, and it has also the advantage to minimize the error handling
when a disk gets full if that's a constraint in what you do, because
you don't need to have up to twice the amount of space required to
hold on a system the old and new cluster's data (tablespaces on the
new and old instances share the same base path, with a different
sub-folder).
--
Michael

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs