Re: pg_get__*_ddl consolidation - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: pg_get__*_ddl consolidation
Date
Msg-id a1c4dd3e-6694-4b7b-8432-f3b584735ff3@dunslane.net
Whole thread Raw
In response to Re: pg_get__*_ddl consolidation  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: pg_get__*_ddl consolidation
Re: pg_get__*_ddl consolidation
List pgsql-hackers


On 2026-04-02 Th 12:27 PM, Andrew Dunstan wrote:


On 2026-04-02 Th 9:35 AM, David G. Johnston wrote:
On Thursday, April 2, 2026, Japin Li <japinli@hotmail.com> wrote:

v3-0004
========

1.
+       append_ddl_option(&buf, pretty, 4, "WITH TEMPLATE = template0");

I'm curious why WITH TEMPLATE = template0 is hardcoded. For example:

  [local]:1374846 postgres=# create database db01 IS_TEMPLATE true;
  CREATE DATABASE
  [local]:1374846 postgres=# create database db02 template db01;
  CREATE DATABASE
  [local]:1374846 postgres=# select pg_get_database_ddl('db02');
                                                 pg_get_database_ddl
  -----------------------------------------------------------------------------------------------------------------
   CREATE DATABASE db02 WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'en_US.UTF-8';
   ALTER DATABASE db02 OWNER TO japin;
  (2 rows)

Is this working as expected?

It seems there's no way to reconstruct the WITH TEMPLATE clause, right?
A comment here would help.

There is no way or use in constructing the original template clause, though I agree it’s worth a comment.  At the end of the day the catalog data that was found in the db01 database already exists in the db02 database when executing these DLL reconstruction functions against the existing db02 database.  Taking nothing from the template is the correct behavior - hence template0.




OK, here's a v4.




Pushed. I have moved the remaining get_*_ddl items to PG20-1


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: PG 19 release notes and authors
Next
From: Heikki Linnakangas
Date:
Subject: Re: Better shared data structure management and resizable shared data structures