How to use pg_upgrade for beta versions

Started by René Leonhardtover 11 years ago4 messagesgeneral
Jump to latest
#1René Leonhardt
rene.leonhardt@gmail.com

It has been recommended to pg_upgrade from 9.4 beta 1 to 2:
/messages/by-id/20e710fd3e4790ee1051aa1e107d3708@postgresql.org

How do I that on the Ubuntu 14.04.1 PPA?
http://www.postgresql.org/download/linux/ubuntu/

Upgrading directly is not possible:
$ sudo apt-get dist-upgrade
Preparing to unpack .../postgresql-9.4_9.4~beta2-1.pgdg14.04+1_amd64.deb ...
ERROR: The database format changed between beta 1 and 2. Please dump
your 9.4 clusters first and remove them before upgrading the package.
dpkg: error processing archive
/var/cache/apt/archives/postgresql-9.4_9.4~beta2-1.pgdg14.04+1_amd64.deb
(--unpack):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/postgresql-9.4_9.4~beta2-1.pgdg14.04+1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Executing apt-get install -f afterwards shows the same error.

At least I am able to upgrade/install postgresql-contrib-9.4
(9.4~beta2-1.pgdg14.04+1), which gives me following tools:
$ ls -1 /usr/lib/postgresql/9.4/bin/
clusterdb
createdb
createlang
createuser
dropdb
droplang
dropuser
oid2name
pg_archivecleanup
pg_basebackup
pgbench
pg_dump
pg_dumpall
pg_isready
pg_receivexlog
pg_recvlogical
pg_restore
pg_standby
pg_test_fsync
pg_test_timing
psql
reindexdb
vacuumdb
vacuumlo

/etc/postgresql/9.4/main/postgresql.conf data_directory still points to
the Beta 1 cluster in /var/lib/postgresql/9.4/main

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

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: René Leonhardt (#1)
Re: How to use pg_upgrade for beta versions

On 07/26/2014 07:56 AM, René Leonhardt wrote:

It has been recommended to pg_upgrade from 9.4 beta 1 to 2:
/messages/by-id/20e710fd3e4790ee1051aa1e107d3708@postgresql.org

It is recommended in the spirit of testing the changes to the pg_upgrade
code, so it is a soft recommendation. In any event I do not remember
pg_upgrade being integrated into the apt-get process. This is something
you will have to do separately.

How do I that on the Ubuntu 14.04.1 PPA?
http://www.postgresql.org/download/linux/ubuntu/

Are you actually using the PPA, I thought that only went up to 12.04?

Or are you using the Postgres repo?:

http://apt.postgresql.org/pub/repos/apt/

Upgrading directly is not possible:
$ sudo apt-get dist-upgrade

Not sure you want to do a dist-upgrade if you want to test pg_upgrade,
as it will want to replace the version of Postgres and lead to the ERROR
notice below.

Preparing to unpack .../postgresql-9.4_9.4~beta2-1.pgdg14.04+1_amd64.deb ...
ERROR: The database format changed between beta 1 and 2. Please dump
your 9.4 clusters first and remove them before upgrading the package.
dpkg: error processing archive
/var/cache/apt/archives/postgresql-9.4_9.4~beta2-1.pgdg14.04+1_amd64.deb
(--unpack):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/postgresql-9.4_9.4~beta2-1.pgdg14.04+1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Executing apt-get install -f afterwards shows the same error.

It would seem you would want to do a straight install of 9.4beta2 where
the package manager sets up a separate instance for it and then use
pg_upgrade to move the data from beta1 to beta2. Otherwise you could go
the dump/restore route.

--
Adrian Klaver
adrian.klaver@aklaver.com

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

#3Bruce Momjian
bruce@momjian.us
In reply to: Adrian Klaver (#2)
Re: How to use pg_upgrade for beta versions

On Sat, Jul 26, 2014 at 11:38:16AM -0700, Adrian Klaver wrote:

On 07/26/2014 07:56 AM, Ren� Leonhardt wrote:

It has been recommended to pg_upgrade from 9.4 beta 1 to 2:
/messages/by-id/20e710fd3e4790ee1051aa1e107d3708@postgresql.org

It is recommended in the spirit of testing the changes to the
pg_upgrade code, so it is a soft recommendation. In any event I do
not remember pg_upgrade being integrated into the apt-get process.
This is something you will have to do separately.

Yeah, it seems the packagers should be using pg_upgrade for this, as I
think they already use it for major release upgrades. Adrian is right,
though, that you might just need to run pg_upgrade manually.

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

+ Everyone has their own god. +

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

#4Craig Ringer
craig@2ndquadrant.com
In reply to: Adrian Klaver (#2)
Re: How to use pg_upgrade for beta versions

On 07/27/2014 02:38 AM, Adrian Klaver wrote:

On 07/26/2014 07:56 AM, René Leonhardt wrote:

It has been recommended to pg_upgrade from 9.4 beta 1 to 2:
/messages/by-id/20e710fd3e4790ee1051aa1e107d3708@postgresql.org

It is recommended in the spirit of testing the changes to the pg_upgrade
code, so it is a soft recommendation. In any event I do not remember
pg_upgrade being integrated into the apt-get process. This is something
you will have to do separately.

pg_upgradecluster is part of pg_wrapper, and should handle it.

I don't know if it handles beta upgrades though.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

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