Skip site navigation (1) Skip section navigation (2)

pg_upgrade incorrectly equates pg_default and database tablespace

From: Ants Aasma <ants(at)cybertec(dot)at>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: pg_upgrade incorrectly equates pg_default and database tablespace
Date: 2012-03-22 12:55:32
Message-ID: (view raw or whole thread)
Lists: pgsql-hackers

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.

Ants Aasma
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt

Attachment: pgupgrade-default-tblspc.patch
Description: text/x-patch (2.0 KB)


pgsql-hackers by date

Next:From: Robert HaasDate: 2012-03-22 13:07:05
Subject: Re: checkpoint patches
Previous:From: Etsuro FujitaDate: 2012-03-22 09:41:11
Subject: Re: Proposal: Create index on foreign table

Privacy Policy | About PostgreSQL
Copyright © 1996-2015 The PostgreSQL Global Development Group