pg_upgrade incorrectly equates pg_default and database tablespace - Mailing list pgsql-hackers

From Ants Aasma
Subject pg_upgrade incorrectly equates pg_default and database tablespace
Date
Msg-id CA+CSw_vDb2nmPhumR4QzOre=ai+ktrJ8KwaZQv7M0nU9L5A9sw@mail.gmail.com
Whole thread Raw
Responses Re: pg_upgrade incorrectly equates pg_default and database tablespace  (Jeff Davis <pgsql@j-davis.com>)
Re: pg_upgrade incorrectly equates pg_default and database tablespace  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Hi,

while working on a support case I stumbled upon a bug in pg_upgrade.
Upgrade fails with "No such file or directory" when a database is
moved to a non-default tablespace and contains a table that is moved
to pg_default. The cause seems to be that the following test
incorrectly equates empty spclocation with database tablespace:

tblspace = PQgetvalue(res, relnum, i_spclocation);
/* if no table tablespace, use the database tablespace */
if (strlen(tblspace) == 0)
    tblspace = dbinfo->db_tblspace;

Patch to fix this is attached.

Regards,
Ants Aasma
--
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt
Web: http://www.postgresql-support.de

Attachment

pgsql-hackers by date:

Previous
From: Michael Tautschnig
Date:
Subject: Re: Weak-memory specific problem in ResetLatch/WaitLatch (follow-up analysis)
Next
From: Dave Cramer
Date:
Subject: who's familiar with the GSOC application process