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 1w3Kyr-0017qE-0U for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Mar 2026 21:32:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w3Kyp-002xOx-22 for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Mar 2026 21:32:36 +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 1w3Kyp-002xOW-11 for pgsql-hackers@lists.postgresql.org; Thu, 19 Mar 2026 21:32:35 +0000 Received: from mail-yw1-x1130.google.com ([2607:f8b0:4864:20::1130]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w3Kyn-0000000046N-3r22 for pgsql-hackers@lists.postgresql.org; Thu, 19 Mar 2026 21:32:34 +0000 Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-79a46ebe2beso11229837b3.2 for ; Thu, 19 Mar 2026 14:32:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773955953; cv=none; d=google.com; s=arc-20240605; b=ZjhFnvlisIGiM5lWjXWf/cX01Mqk//uHCxo+uuUD0Mxjkrdbd9Kr8b4cIzHPrZHSzE bLCrnOLiYGDc69BR4Afq52tIqUsLq1gFBVoaswElrmlGnV3MmRCrZXsSvTSSY29TQmic ccKR1AHkF0ZTkBohp8z5SCaSdfFqaebK7/voEhgGjZvi8E23Dh7y6DFDAgENEvIzMMPx jdXr2VJkho+iRF2jFZ+pn4wrD9tD0o2FLp317wThAj5h3k4vp4Z+GCwBTbwHzTXZnr7N jpTWV+6q5jEcMTSW6JHJyb0s4Zj3SG7j/fkqTYjQ8bzCDnZqui0Npg4FhqGupWzO6c4B Cq/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=hPwVdAMBoJhRbMo0rrj4y7Cb1HwM/3WzGQqBaK2ckO8=; fh=UwB8uq6c8r+N1V6qt+QBbZ8AkxdKGobi0KnBWRuNqbg=; b=g57WlhH3vtsksGXHa1XeTcl3xMJR4rn6Hfy9/Ou5cOfgpnPyk+bsBCmqeiftMlU5wM WuAUCb9Ffce9RyNi0vejD/1U7dWEVetMx0wy7kwyITDY9mbxCWlhpZ1Yz/EJjMaTmxqp s6oKO3l70o6r5Fanozc9I79nQucqT9bkhb8lrxsIFBiVb3Xqqzd4H9oJ4IiFhNKajzIj HdCTpzDXEOgWtVVxFq+J4qF/DZIrQAINZYl52Q1FYIpct2X4LVZ0CrPdUOAfllBjHepb ZcWDRrWLIHOocAYcinw/i0qiARPOwQv7rhDeliHTggHOVbrfvCWe19oAOSK+G5OtfTsG EdDw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=percona.com; s=google; t=1773955953; x=1774560753; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=hPwVdAMBoJhRbMo0rrj4y7Cb1HwM/3WzGQqBaK2ckO8=; b=KjRcdqa/O1W4Z76Tr2W4RGzCPVOOR1VGBVzHR121sy+jYU0zPU8BonA37Vy65zqXYU rjWnadi6yUaUYILY13ynda3tIDKaTemXlokjkbBgi93Cz4ytNEwsZquYzN+WZ7iCpMnv qgwSb6crGYkyFgnwUfYaEMldPBziQ0O4ecQBk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773955953; x=1774560753; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hPwVdAMBoJhRbMo0rrj4y7Cb1HwM/3WzGQqBaK2ckO8=; b=j4RmoSFSLLlFK/7YrVv6XPdInp7/Pf5fx3j2UVlTlR4//RZWee9bKmaykEo555FuCo Zda6WLnBdeqbLVNtTAtVvMBTfHz1PzXmEBYQHMJeT1v7AnjeW5PGwMlmtOBbTg1flxlR k/GxWmrhjHKrh/jCnNyEwANT8E/yH9BtfvQgXyopqZXkqwbw8kZCsPrPeriyoO5kogN6 e3kqMux0P/S5Z1RWfJZ72Yqjr9GPKq7dnfRRDE0LW4qQd8lWcbea2/GGPhHmGOUdO7fg EuPELXBLTsg7YSrTQWWTJIvtSLM7U8nh+Wlq/xh43lLIIaEKS6zPZ5EO4icrf+pyyi1R yTbQ== X-Gm-Message-State: AOJu0Yxx7sg6BgTKGDgNJhzn7tBkt99TYfWee+hTMtMGbAInmHNpxyFY MJkSHuAclWXptTWeZ+NtLlIpP7CvuZ8/1+EmazxAPLPwfTH21qFSov0D9Fo9NteaPtFQbX+Kffr buWBAkBewJip2uLcy2Q1Bu2Z0QMUN71/lZD0pe9UiEtIJncG7o+iGJvlcqzedSWjJPtRfv0yg9u GCOy1gqd4ua3KouOEtjGJUs5djjigTWnZqXVKpCzKWg24V8VIl3k+OUyy5cXN2jBudtue/0EpOk zeueciWNjl3tGS7lOQ2CnJbZAA3zBliKf0FGfuxjyZD9zplE8VsBRm/KrfEhSZv92Q= X-Gm-Gg: ATEYQzzWWQgysBlqewRWHQjASru6pakBIL7o12weNEpwGi1qhlB6t2SUApQeLb06Q7o BKJk8xLrXyYcAY4PzNWkVDrGAMlkC7KY6iZoMhNYSIywusr3apKouIdfPbjXJVfOyLgVqKeI+1y PRERt7JFbpgUc7VkETx4UoxqKxwXI86ICR7WI7lqY/Yc3lqmhNlqfl8/ElktgtOksqmRojydt8U HUTInTCV7mgZwlpYbBJvZb0LNzn9RQwl3t3tazAU2rgeYuslNOJ9V13TxoxnJVklCPRaFXCKhXQ VR24VQi46aYYk6fupISVcyk86qK4l03BCRCR+bvvtRR2WaCpPyHhiqRLGRRts3/+KUzZEfTPsY1 bbdM= X-Received: by 2002:a05:690c:a04d:b0:798:980f:6706 with SMTP id 00721157ae682-79a90aeabc5mr6515177b3.22.1773955952882; Thu, 19 Mar 2026 14:32:32 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Zsolt Parragi Date: Thu, 19 Mar 2026 21:32:21 +0000 X-Gm-Features: AaiRm53LtDhx6RCq6-eBr4pYCFCbVRuC1e7tW_icZRDgS18ChLIX9U-FCdGyG8Q Message-ID: Subject: Re: pg_get__*_ddl consolidation To: Andrew Dunstan Cc: PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" X-CLOUD-SEC-AV-Sent: true X-CLOUD-SEC-AV-Info: percona,google_mail,monitor X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello! I found a few problematic corner cases while testing the patches, please look at the following: Doesn't pg_get_database_ddl need more filtering for roles? See example: CREATE DATABASE testdb; CREATE ROLE testrole; ALTER DATABASE testdb SET work_mem TO '256MB'; ALTER ROLE testrole IN DATABASE testdb SET work_mem TO '512MB'; SELECT pg_get_database_ddl('testdb'); Another issue is that the data style isn't fixed: CREATE ROLE regress_datestyle_test VALID UNTIL '2030-12-31 23:59:59+00'; SET DateStyle TO 'SQL, DMY'; SELECT * FROM pg_get_role_ddl('regress_datestyle_test'); -- returned statement fails with invalid input syntax for timestamp + appendStringInfo(&buf, "ALTER DATABASE %s OWNER = %s;", + dbname, quote_identifier(owner)); Shouldn't that be OWNER TO? Similarly this will result in an error when executed. Role memberships seem to be missing. I would expect those to be included? CREATE ROLE regress_parent; CREATE ROLE regress_child; GRANT regress_parent TO regress_child; SELECT * FROM pg_get_role_ddl('regress_child'); + dbname = quote_identifier(NameStr(dbform->datname)); Isn't an pstrdup missing from here? dbname is used after ReleaseSysCache.