Add pg_get_role_ddl() function
Andrew Dunstan <andrew@dunslane.net>
Add pg_get_role_ddl() function Add a new SQL-callable function that returns the DDL statements needed to recreate a role. It takes a regrole 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 and memberships (boolean) to include GRANT statements for role memberships and membership options. The return is one or multiple rows where the first row is a CREATE ROLE statement and subsequent rows are ALTER ROLE statements to set some role properties. Password information is never included in the output. The caller must have SELECT privilege on pg_authid. Author: Mario Gonzalez <gonzalemario@gmail.com> Author: Bryan Green <dbryan.green@gmail.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: Quan Zongliang <quanzongliang@yeah.net> Reviewed-by: jian he <jian.universality@gmail.com> Discussion: https://postgr.es/m/4c5f895e-3281-48f8-b943-9228b7da6471@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 | +56 −0 |
| src/backend/utils/adt/ddlutils.c | modified | +361 −0 |
| src/include/catalog/pg_proc.dat | modified | +8 −0 |
| src/test/regress/expected/role_ddl.out | added | +143 −0 |
| src/test/regress/parallel_schedule | modified | +2 −0 |
| src/test/regress/sql/role_ddl.sql | added | +96 −0 |
Discussion
- pg_get__*_ddl consolidation 36 messages · 2026-03-19 → 2026-06-28
- [PATCH] Add pg_get_role_ddl() functions for role recreation 16 messages · 2025-10-24 → 2026-01-20