Re: [PATCH] Add pg_get_tablespace_ddl() function to reconstruct CREATE TABLESPACE statement

Jim Jones <jim.jones@uni-muenster.de>

From: Jim Jones <jim.jones@uni-muenster.de>
To: Manni Wood <manni.wood@enterprisedb.com>
Cc: Nishant Sharma <nishant.sharma@enterprisedb.com>, pgsql-hackers@postgresql.org
Date: 2025-11-04T17:59:34Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add infrastructure for pg_get_*_ddl functions

  2. Add pg_get_tablespace_ddl() function

  3. Split out innards of pg_tablespace_location()

  4. Remove spclocation field from pg_tablespace


On 04/11/2025 15:19, Manni Wood wrote:
> I personally see no harm in additionally having an OID-based variant,
> seeing as it looks like a lot of functions do seem to take an OID. If I
> understand correctly, many functions take an OID, and Postgres users are
> supposed to have read the docs (https://www.postgresql.org/docs/current/
> datatype-oid.html <https://www.postgresql.org/docs/current/datatype-
> oid.html>) to know to cast names to OIDs. So, in terms of following
> established practice / patterns, an OID-based variant is defensible.

+1

That's the way I see it too. Of course it's always easier to use the
tablespace's name, but there might be cases where you only have the oid
-- in which case you'd need to do a JOIN with pg_tablespace to find the
name. It's just for convenience.

Best, Jim