pg_upgrade does not translate tablespace location to new cluster - Mailing list pgsql-general

From Olivier LEVESQUE
Subject pg_upgrade does not translate tablespace location to new cluster
Date
Msg-id BANLkTimOv=zer8qO7+cnB+mFgTp-HBpT-w@mail.gmail.com
Whole thread Raw
Responses Re: pg_upgrade does not translate tablespace location to new cluster
List pgsql-general
Hi,

I am currently testing pg_upgrade (in copy mode)  to migrate a 8.4.4
old cluster to a new 9.0.3 one.
It runs fine except when databases contain tablespaces


$pg_upgrade -d /pgqdata/pgserver01/data -D /pgqdata/pgserver02/data -b
/opt/pgsql/na/8.4.4/bin -B /opt/pgsql/na/9.0.3/bin -p 5432 -P 5433

Performing Consistency Checks
-----------------------------
Checking old data directory (/pgqdata/pgserver01/data)      ok
Checking old bin directory (/opt/pgsql/na/8.4.4/bin)        ok
Checking new data directory (/pgqdata/pgserver02/data)      ok
Checking new bin directory (/opt/pgsql/na/9.0.3/bin)        ok
Checking for reg* system oid user data types                ok
Checking for /contrib/isn with bigint-passing mismatch      ok
Checking for large objects                                  ok
Creating catalog dump                                       ok
Checking for presence of required libraries                 ok

| If pg_upgrade fails after this point, you must
| re-initdb the new cluster before continuing.
| You will also need to remove the ".old" suffix
| from /pgqdata/pgserver01/data/global/pg_control.old.

Performing Migration
--------------------
Adding ".old" suffix to old global/pg_control               ok
Analyzing all rows in the new cluster                       ok
Freezing all rows on the new cluster                        ok
Deleting new commit clogs                                   ok
Copying old commit clogs to new server                      ok
Setting next transaction id for new cluster                 ok
Resetting WAL archives                                      ok
Setting frozenxid counters in new cluster                   ok
Creating databases in the new cluster
psql:/opt/pgsql/bin/pg_upgrade_dump_globals.sql:38: ERROR:  directory
"/pgqdata/pgserver01/data/tbs_ptest/PG_9.0_201008051" already in use
as a tablespace


The failing command in pg_upgrade_dump_globals.sql is:

CREATE TABLESPACE tbs_ptest OWNER ptestowner LOCATION
'/pgqdata/pgserver01/data/tbs_ptest';

===> I would prefer that pg_upgrade translate the location to one in
the new cluster data directory (PGDATA), i.e.
/pgqdata/pgserver02/data/tbs_ptest


Does anyone know a possible workaround for this problem ?

Thank you.
--
Olivier LEVESQUE

pgsql-general by date:

Previous
From: AI Rumman
Date:
Subject: \i command in dblink
Next
From: Daniele Varrazzo
Date:
Subject: Re: Anonymous record type and inner types.