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 1weJZz-004hhA-1b for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Jun 2026 21:31:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1weJZx-004mp6-0k for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Jun 2026 21:31:45 +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 1weJZw-004moy-33 for pgsql-hackers@lists.postgresql.org; Mon, 29 Jun 2026 21:31:44 +0000 Received: from mail-yx1-xb129.google.com ([2607:f8b0:4864:20::b129]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1weJZv-00000000ogG-0Hwm for pgsql-hackers@lists.postgresql.org; Mon, 29 Jun 2026 21:31:43 +0000 Received: by mail-yx1-xb129.google.com with SMTP id 956f58d0204a3-664d530fcfdso2047059d50.2 for ; Mon, 29 Jun 2026 14:31:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782768702; cv=none; d=google.com; s=arc-20260327; b=IpyRqQkR52V7jZKsQnIlI3w6e3tHogEezFUzkUKTCfBagMiijaqpLzhdeM5NKjSfk3 x9Imvwx5pHv8tZwXAgT+PXrIkd2i8WLyca5uQn9TPqRVd4L8iIXcMvNZgTV7V6ciZZ/b LlarFGhOuko2t7AxgoStPX+aTAiYsxeo2Aq/jVSYNPgNJbBlilVX0qwgcBjXPolvDHXQ 18QH6PKm88SH5jD2zBmfoKrFlXY6TQtqNagCM33sJitHXuuhqgg21280MDctan4pq1SV KXM7kdiH/lROZHqApHdpBm7BVBChZb3XIGSEMG/qmnga5J72utSlQ1XaVDv2JJ5XvdV+ 5PMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :dkim-signature; bh=PDHrkc9koOSolKcuDBLsbZ3WudGgSk/i+SNi6wK2tqw=; fh=nwNxTtLLPTU0ewfLM7SSbrjMajMl+wwnFkCY/fi90vE=; b=gTj1r4lkfJRj7xhtmR/WFjsRqNW5z4ax9Gog9tleHImZ279kzGhO0c2excKiyarO75 NR8bAvXQuS/XAXEQtYiM185cVv4uHXLYOO/E9D8tI7mGTqv8EIxfOHRjUFjBtJu/EAbK GTwTuoeAOMUW5QQJzGU2/Jy8HkNfp2T5qKQc8fKJ56m1DSb3hktQIBFtd9rnIn0MxGjs L5DnfbspAr5ONeeAu6N8PC1+5k47ad0u0yFKSmzIi1QNrR6jnB3Zxt5J+lxQD2HFbTAp l7TVTIdd7mLBOg2WVAHDxBhrNsgSkYQiPnCVJYI7mTfIer/IGWaQfEpAGHKTd9bopzHh PI7A==; 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=1782768702; x=1783373502; darn=lists.postgresql.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=PDHrkc9koOSolKcuDBLsbZ3WudGgSk/i+SNi6wK2tqw=; b=GPrqEUqCkdEKnBhUqDKZ94fo8EKWY470B/7QgRsfeF0UXrzc7fDZV0aO5dPb79Ln69 GsrozDmORmfsavaFuYPclcvvg5EpkZZ+o9gVNK1CKpYJfHNOZXytg/MPEiL3soQWnE5B yYKkUqNnhoUHBFwRSg5QXJHbJSJq1hoMsctpUpW0+zy9RJ7l3MZoXbvXS4gG1XTwmb7o /zqOlRyWrpjCZ1sop3gpYf3OgYf1xOyty2vugph59YOdcZO5cjhX3xibcLpwA+wBR2wp f9PDwOodAr/ZeJj+RYsIzq+f+mOIfZnDpZSfN1y/bjyldidExOP/RfRN2ADL1rJyxUI0 0ivA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782768702; x=1783373502; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PDHrkc9koOSolKcuDBLsbZ3WudGgSk/i+SNi6wK2tqw=; b=mZ1shMuVauWQYaG9gCns4kQ6ZIhMyGMYB3UnqM9ZCH1qvR4cmH0pbwqC5Ici2OFJaC UFJ2vRqiZa7VGV/ZIU076OwjILozmZo5H+QaHFAOJOmJmdCE3RY7YLOjXLSklH8Kkj+O qsj3hVfAkIjJ0aTxpVFZybzo2OZfAnv+6S0MsIvWs63hlSq3Ub+YKxZ568//CbMYlq0f kMb6JaZEPxTEhp5Z5tGZrbFFWpGGgsYhRTPtoiPtNZ4XKEyq1Ks3KLiD5Ba80d//xIJl WYGvnPlEsBfwPsnlUvE/iOeC9oEjywh/i8HpTd0N+CJ2w5ewBjsEpVhU20R1u1DO5dfs haOQ== X-Gm-Message-State: AOJu0YxONbX+I34G/rXUG8uFu66aQ8Sdsbi2aXQsYn8ouKE/a2wA1tp6 L3Eh/qWbImiSWrOh7WtALDgxuBA90nZVvThNidzpEs9u8dMXPVgiEQXlnrXjZcUpaVrxS8I69ca KY6CLd2Bct7zRK7MNOQ7xk+alHDnTIfNhObH4D7MbmY5ofClpPaoyRkI495CF1SDv+rM7W2B/ut TylDCl+GPuiXXjktXxg8UG0a4SIpGD9VKaNcFZUba4PjBCtZuKzCsjCQ8m4ivkyOSfB2AUH1pPX 0fG1yX8pmjcn0Bnt4XsAZndVC+6he7qKsoEmDbZjdCpHSI4b5J+Dq5wrAN92to/YX5VWc1LCmTq JQ== X-Gm-Gg: AfdE7cn70nmhvdU1Eu8np+rzZgYI41zwtKBv7pWd/WCIOQtpbXwnlUZGknbnUEXHFgD DhYJ4JZ5aNUjLsunIZU5r9dyaausGHFVYqaDH0EV8OThYwITTil5wqjGHTKic0erVgcwMRoQFUI IrspN8vwUjP6XUbWAMVza8xtOgccAZEbXeS7s8uPGOURbfZfmshXwlXHF7DVKp9lR065uMx6uRN ePuaacciScL5TiM7dkD1V7OHEBplrqLkrT2uXB8+A1CqXe2sKR2DkryPn8llTWkIrTxvityWW21 BnpjYs1I98+eTWtLNe00+6Ycoa7I0W4Xw6Vz22QJKw7kneinHAC/CU23TA== X-Received: by 2002:a05:690c:998b:b0:7dd:3463:6872 with SMTP id 00721157ae682-810d9e09d67mr14807667b3.41.1782768701898; Mon, 29 Jun 2026 14:31:41 -0700 (PDT) Received: from 298783833264 named unknown by gmailapi.google.com with HTTPREST; Mon, 29 Jun 2026 14:31:41 -0700 Received: from 298783833264 named unknown by gmailapi.google.com with HTTPREST; Mon, 29 Jun 2026 14:31:41 -0700 From: Zsolt Parragi In-Reply-To: References: <983C7B03-D9C3-4F15-8913-7616EC5E6414@gmail.com> <20260623.162104.775158751399277188.horikyota.ntt@gmail.com> MIME-Version: 1.0 Date: Mon, 29 Jun 2026 14:31:41 -0700 X-Gm-Features: AVVi8Cd2TECbCyABzu75AmcCYaZlAGzxGWdEi9V65ILjkObcbg-BqJsBwarDpRg Message-ID: Subject: Re: [PATCH] Add pg_get_table_ddl() to reconstruct CREATE TABLE statements To: pgsql-hackers@lists.postgresql.org 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 noticed that there's an inconsistency with schema qualification, if the schema is in the search path: CREATE SCHEMA s; CREATE TABLE s.parent (id int PRIMARY KEY); CREATE TABLE s.t (id int PRIMARY KEY, pid int REFERENCES s.parent(id), name text); CREATE INDEX t_name_idx ON s.t (name); CREATE STATISTICS s.t_stat ON id, pid FROM s.t; SET search_path = s, public; SELECT pg_get_table_ddl('s.t', 'owner', 'false'); outputs: CREATE TABLE s.t (id integer NOT NULL, pid integer, name text); CREATE INDEX t_name_idx ON t USING btree (name); -- should be s.t ALTER TABLE s.t ADD CONSTRAINT t_pid_fkey FOREIGN KEY (pid) REFERENCES parent(id); -- should be s.parent ALTER TABLE s.t ADD CONSTRAINT t_pkey PRIMARY KEY (id); CREATE STATISTICS t_stat ON id, pid FROM t; -- should be s.t In the included testcase: +drop cascades to view v +drop cascades to sequence s +ERROR: relation "parted_range_1" already exists +CONTEXT: SQL statement "CREATE TABLE pgtbl_ddl_test.parted_range_1 PARTITION OF pgtbl_ddl_test.parted_range FOR VALUES FROM (0) TO (100);" +PL/pgSQL function inline_code_block line 22 at EXECUTE is this error expected, doesn't it break the test?