Re: pg_tablespace_location() error message - Mailing list pgsql-hackers

From Tom Lane
Subject Re: pg_tablespace_location() error message
Date
Msg-id 1822.1334107145@sss.pgh.pa.us
Whole thread Raw
In response to Re: pg_tablespace_location() error message  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: pg_tablespace_location() error message  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Tue, Apr 10, 2012 at 7:57 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> If we expect this function to mainly be applied to pg_class.reltablespace,
>> then it seems like it ought to understand that zero means "the database
>> default" and substitute the database's default tablespace.  That might
>> or might not be the same as the cluster default.
>> 
>> Alternatively, we could expect pg_upgrade to understand that and make
>> the substitution itself, but if the same would be needed by most uses of
>> the function, maybe we should just do it here.

> +1 for doing it in the function.  I think that will improve
> ease-of-use and give up nothing.

I'm inclined to agree.  It won't help pg_upgrade, but that's because
the query pg_upgrade is using is constrained by backwards-compatibility
considerations: it's *necessary* to join to pg_tablespace if you want
any location details pre-9.2.  But as of 9.2 it's plausible to consider
applying this function directly to pg_class.reltablespace, so we should
make it behave sanely for that use-case.

I think it's probably about a two-line change, will research and
apply if so.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: invalid search_path complaints
Next
From: Greg Smith
Date:
Subject: Re: Initial 9.2 pgbench write results