Re: pg_ls_tmpdir()

Nathan Bossart <bossartn@amazon.com>

From: "Bossart, Nathan" <bossartn@amazon.com>
To: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, Laurenz Albe <laurenz.albe@cybertec.at>, Christoph Berg <myon@debian.org>
Cc: Andres Freund <andres@anarazel.de>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-10-02T16:32:58Z
Lists: pgsql-hackers
On 10/2/18, 7:22 AM, "Andrew Dunstan" <andrew.dunstan@2ndquadrant.com> wrote:
> On 10/02/2018 08:00 AM, Laurenz Albe wrote:
>> Christoph Berg wrote:
>>> Re: Bossart, Nathan 2018-10-01 <69FD7E51-2B13-41FD-9438-17395C73F5BF@amazon.com>
>>>>> 1. Do we really need two functions, one without input argument
>>>>>      to list the default tablespace?
>>>>>      I think that anybody who uses with such a function whould
>>>>>      be able to feed the OID of "pg_default".
>>>> That seems reasonable to me.  I've removed the second version of the
>>>> function.
>>> You could make that one argument have a DEFAULT value that makes it
>>> act on pg_default.
>> I looked at that, and I don't think you can add a DEFAULT for
>> system functions installed during bootstrap.
>> At least I failed in the attempt.
>
>
> See the bottom of src/backend/catalog/system_views.sql starting around 
> line 1010.

AFAICT the cleanest way to do this in system_views.sql is to hard-code
the pg_default tablespace OID in the DEFAULT expression.  So, it might
be best to use the two function approach if we want pg_ls_tmpdir() to
default to the pg_default tablespace.

Nathan

Commits

  1. Add pg_ls_tmpdir function