Add pg_get_database_ddl() function
Andrew Dunstan <andrew@dunslane.net>
Add pg_get_database_ddl() function Add a new SQL-callable function that returns the DDL statements needed to recreate a database. It takes a regdatabase argument and an optional VARIADIC text argument for options that are specified as alternating name/value pairs. The following options are supported: pretty (boolean) for formatted output, owner (boolean) to include OWNER and tablespace (boolean) to include TABLESPACE. The return is one or multiple rows where the first row is a CREATE DATABASE statement and subsequent rows are ALTER DATABASE statements to set some database properties. The caller must have CONNECT privilege on the target database. Author: Akshay Joshi <akshay.joshi@enterprisedb.com> Co-authored-by: Andrew Dunstan <andrew@dunslane.net> Co-authored-by: Euler Taveira <euler@eulerto.com> Reviewed-by: Japin Li <japinli@hotmail.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de> Reviewed-by: Quan Zongliang <quanzongliang@yeah.net> Discussion: https://postgr.es/m/CANxoLDc6FHBYJvcgOnZyS+jF0NUo3Lq_83-rttBuJgs9id_UDg@mail.gmail.com Discussion: https://postgr.es/m/e247c261-e3fb-4810-81e0-a65893170e94@dunslane.net
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/func/func-info.sgml | modified | +23 −0 |
| src/backend/utils/adt/ddlutils.c | modified | +330 −0 |
| src/include/catalog/pg_proc.dat | modified | +8 −0 |
| src/test/regress/expected/database_ddl.out | added | +88 −0 |
| src/test/regress/parallel_schedule | modified | +1 −1 |
| src/test/regress/sql/database_ddl.sql | added | +66 −0 |
Discussion
- pg_get__*_ddl consolidation 36 messages · 2026-03-19 → 2026-06-28
- [PATCH] Add pg_get_database_ddl() function to reconstruct CREATE DATABASE statement 49 messages · 2025-11-12 → 2026-03-11