Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9iXu-001g9D-1i for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 11:55:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9iXr-008AUC-1S for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 11:55:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9iXr-008AU4-0Y for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 11:55:07 +0000 Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9iXp-00000000qXG-2gWQ for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 11:55:06 +0000 Received: by mail-qt1-x841.google.com with SMTP id d75a77b69052e-506a747448dso28452341cf.0 for ; Mon, 06 Apr 2026 04:55:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20251104.gappssmtp.com; s=20251104; t=1775476504; x=1776081304; darn=lists.postgresql.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=9hU3Lha9dpFtZzA9fXtyxs9d5hAcNwv79nGgvZlkKC8=; b=DGRAvX1NMx3N3LrDGphQLQmtN2x+zqMiSYWnTL8keSphgR0avWIHTYEzAH8THDDi6I ZZOJOpQcpih108JVBE7rFVn2r3DK9Bh7NwjLxyaiFTt0KnUQNIWFFU1Dz3laaS52VbNh y8Z1RGTUxKlqqUBTD4TLJUTXOTJBFe9dxkDu5DtHAFYhWry3y4MkpmLwSMC51WkGEubw fEyDqIqkaOwpVFt9A+rmC2KdCVg+02X3JiBvIb4hrfT/z24XgCNHKynHlQMsuq/T93WI rHm4PQA4Xnnf6TbDoSHlUCP6fbaDhvb8dA2vkAemBkVJpi38H8AxNUj5eEew5/V4sDFl NTuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775476504; x=1776081304; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9hU3Lha9dpFtZzA9fXtyxs9d5hAcNwv79nGgvZlkKC8=; b=rKCo2FEAFYkE/bnGHkbca+KBvvRXG7JLeP9ruM4cPpzEPmyl4sBknCDPUcGK5wGg8m t8UGiAgf5m0PX7f45VhWjCBv3BqzbpFHuZNxU9byVEIRzYraSvhOWjKpdN2NLR3yqmu/ 24w3H74PZ9vpkmlq27m7dk0kqyHTilpWKV72eQ3SKS27e/oFKvcBogCgPg/b+654ZjJ2 UGdJn6z5x15BGVD+3wGCJ9qbw/UXO0b4A3xx/3mt2F/U8AaWI2FNALX5/BPduyP4tzh1 bN/O1Wpzn5hzL+zo+NCeLowQZphrFU8RlJjeZCzus7U1l4Pf3iPpzZGikp6jtJftDljJ 9G1g== X-Forwarded-Encrypted: i=1; AJvYcCXNxY8xyXFMWUDdAF7ZYVzydW/NfMe0MLTv0fxJDDQKw90i2b+X5II4YFmsqWT59XffKUt1tRn59wYuX6nr@lists.postgresql.org X-Gm-Message-State: AOJu0YxvD5VO7ZEtzSSu3WABapktqvU3fHWsq5oIt3UaEyv6kkw/Iu6Z wyEEPtsUanwKuIuj+oeIJLsI9792lkT821aBnWg+AnRwQqJqO3CorEbj3KPoEqTXgNc= X-Gm-Gg: AeBDievsK+TOPAaSfzYw8I2J+lWoNazNzN9dboMS7yRO82ZJXNCGZHDm+i6EDb06NNT PxR1Msm148bu61nsriI9lW+TrrI905s91KR8jh+CVcG6tvPaFzr3T0+FNoDNMbvHHJQf/FRK1gX wfImTOuJJTvTF/fKbwcljNY8VN22OmGV73DV4IVa3FtsiUWILXSBcf1GozEz+aHj1/j2WQzrWVe ZM/MNCxc+aLgnDuLHBjfiCFR2ZLmUdpYgnvUKSezNTYhoFHyPPMiXh5DLiur/LYKa616EPZBnV1 ZF8AjepGfUR5KStHaBUwFszYmJTxgu4Dzu1dabxX4X9jnDKWPRDEEUZ4cLwnOLf8sY35pcStDb1 WWEWp3ClV71uuw0g5buowOsLAf4WBo95O9R0AOR6xIvf37FE3e8zFixfIfiC3sbenDs7K65ze08 yIifR6Bl798LgCrkQmRsvUMJ1To6v5BQ== X-Received: by 2002:a05:622a:17c6:b0:509:45fc:c8bc with SMTP id d75a77b69052e-50d628a04bfmr201312061cf.28.1775476504119; Mon, 06 Apr 2026 04:55:04 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id d75a77b69052e-50d4aed181asm125352451cf.0.2026.04.06.04.55.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Apr 2026 04:55:03 -0700 (PDT) Message-ID: <34dc4d59-fec8-43c2-aa7b-38917b3ce0aa@dunslane.net> Date: Mon, 6 Apr 2026 07:55:02 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: pg_get__*_ddl consolidation To: Jelte Fennema-Nio Cc: "David G. Johnston" , Japin Li , Zsolt Parragi , Euler Taveira , =?UTF-8?Q?=C3=81lvaro_Herrera?= , PostgreSQL Hackers References: <202603201311.yhtqmvektawm@alvherre.pgsql> <8ec9b67d-939e-4b22-8d56-a5129f92d32d@app.fastmail.com> <555cdee4-c024-4872-9d96-82ef4216239c@dunslane.net> From: Andrew Dunstan Content-Language: en-US Autocrypt: addr=andrew@dunslane.net; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNJEFuZHJldyBEdW5zdGFuIDxhbmRyZXdAZHVuc2xhbmUubmV0PsLAlwQTAQgAQQIbAwIX gAIZAQULCQgHAwUVCgkICwUWAgMBAAIeBRYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNGd BQkdEO8nAAoJEJn6f8tZ/DuBq74H/jkTR4Zi3stbw+xC7v2u3QozssK7MYPL2AsVfh7OealS h182fiWXpfvmmAB7WUHbhk9GC2RAOnHI/2d2jgKaMLAHsGYOT0YopTVIwRY43fCw/mK67yxc wmDcX+zyKfLaivNbf5A7QPLNwda98bEAMSJ8Sn652Uc6cA8t3uKGsVzbRBQOoYzjgvBCfSrE 9ql3PDNg0l4BfAqabd2f70ZUm9VAMEPrgv/v2xI7M2XiL4g5BVmqLCOwxLM8RMCotCuoweUr VO43DeBCIDwLxotMJKvGWDjBzQYlU1NPUAtNcz/gN9ITUe1VUGjyvGj4u1lxBOcQQUw7l1+T 5moZ4iZxXzvOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oKWaqf+wmW4tpDe/VV cxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7llV0xSSoFiieQBsr GvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8BoVrRFcdzlIY/NFN hFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C4R+M6w7o2PLGOjdZ +kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaYL++LAEOqrlvm2Tvq QqZRtnEAEQEAAcLAfAQYAQgAJgIbDBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNI2BQkd EODdAAoJEJn6f8tZ/DuBfw0IAKTsfD40teP/pp+bsLLMSxPXUYrrprTj7WFB5v61p6dkpSr/ qXmMlyahdxQFaPmfVgVirB1Vk/kHiWNnnGjfUV9nB2Zg9LI0Xb9/ts3LsUiRWXzG3tkMY6XL vsVOxW4XFRND9l2q+WW93aZ1DZl+fqWfYgMvsusFRhmGFOKTRfKPta2Pkv+AhA24N4+PrR5p bU4k2MO8PAGiK8eaYKGFG1bHKuAvoDoF7WXJ3FHxuWqLnKEt4dfOLm5pAe3zq1Lt6q8azT9i QWGpSAK5vQUWQHBHpiDjdPeqKZ6HiAXIIKfSmb+jrvXBqoP+D6/K7rUjG2aXiRtTIAXms9sm VRu7cmw= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2026-04-05 Su 12:35 PM, Jelte Fennema-Nio wrote: > On Sun, 5 Apr 2026 at 17:06, Andrew Dunstan wrote: >> Pushed. I have moved the remaining get_*_ddl items to PG20-1 > +1 on having this feature in general. But I'm not sure I understand > why it needs the whole bespoke string-based option parsing in the > first commit. Why not use named arguments for this, i.e. have the > usage syntax be: > > SELECT * FROM pg_get_role_ddl('regress_role_ddl_test3', pretty => true); > > Instead of the current: > > SELECT * FROM pg_get_role_ddl('regress_role_ddl_test3', 'pretty', 'true'); There was quite a deal of discussion around this mechanism. See Euler's review at [1] and follow-up at [2] for the original discussion of the VARIADIC option-parsing design and the use cases it was meant to address. I'm prepared to revisit it is there's a strong consensus on the point. cheers andrew [1] https://www.postgresql.org/message-id/4e60bcae-8222-4e1f-8e5b-d73b59c93304%40app.fastmail.com [2] https://www.postgresql.org/message-id/4c695e76-5ab7-449f-8060-76518dd41468%40app.fastmail.com -- Andrew Dunstan EDB: https://www.enterprisedb.com