Re: upgrade path from PG 8.3 to PG 9.5

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Thorsten Schöning <tschoening(at)am-soft(dot)de>, "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: upgrade path from PG 8.3 to PG 9.5
Date: 2017-03-21 16:54:42
Message-ID: 20170321165442.GO9812@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Greetings,

* David G. Johnston (david(dot)g(dot)johnston(at)gmail(dot)com) wrote:
> On Tue, Mar 21, 2017 at 9:40 AM, Stephen Frost <sfrost(at)snowman(dot)net> wrote:
> > * Thorsten Schöning (tschoening(at)am-soft(dot)de) wrote:
> > > Guten Tag Keith,
> > > am Donnerstag, 23. Februar 2017 um 18:57 schrieben Sie:
> > >
> > > > You can go directly from 8.3 to 9.5. Just be sure and use the
> > > > pg_dump from 9.5 to generate the dump file from 8.3.
> > >
> > > Is there a specific reason for that? My current approach for upgrades
> > > was dumping the old database using the old pg_dump, uninstalling the
> > > old Postgres, installing the new one and restore from the old dump.
> >
> > Yes. Using the older pg_dump may result in dumps that can't be restored
> > into the newer version of PG because things like keywords have been
> > added and must now be quoted. There are possibly other things that have
> > been changed between the old version and the new one which would also
> > require the new pg_dump to be used, but keywords are the big one.

> The proper solution to the keyword/identifier quoting problem is to use
> "--quote-all-identifiers".

Using the version of pg_dump to which you are upgrading is an entirely
supported and 'proper' approach to dealing with that issue. Using
--quote-all-identifiers, in my opinion anyway, leads to rather ugly
results.

As I also mention, there are other things in newer versions that pg_dump
does its best to address (including things like checking for role names
in older versions starting with "pg_", which is not allowed in 9.6+).
Using the pg_dump from the version of PG to which you are upgrading is
the correct and supported approach to doing upgrades. Using
--quote-all-identifiers is not.

Thanks!

Stephen

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Scott Marlowe 2017-03-21 19:00:55 Re: upgrade path from PG 8.3 to PG 9.5
Previous Message David G. Johnston 2017-03-21 16:47:11 Re: upgrade path from PG 8.3 to PG 9.5