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 1wDiV9-003H0X-1r for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Apr 2026 12:40:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wDiV7-009k3w-2V for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Apr 2026 12:40:49 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wDiV7-009k3m-17 for pgsql-hackers@lists.postgresql.org; Fri, 17 Apr 2026 12:40:49 +0000 Received: from mail-qk1-x742.google.com ([2607:f8b0:4864:20::742]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wDiV4-00000001egm-1FpB for pgsql-hackers@lists.postgresql.org; Fri, 17 Apr 2026 12:40:48 +0000 Received: by mail-qk1-x742.google.com with SMTP id af79cd13be357-8d6d5e45c43so72418585a.3 for ; Fri, 17 Apr 2026 05:40:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20251104.gappssmtp.com; s=20251104; t=1776429644; x=1777034444; 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=tCmU1/figF1JyiloVNlxoi5kUCCIoazf2OEvU2igwQY=; b=LKnFXO1Y3g33NcWuddpxyscvicaAp1OgEmGkNJxmZDpdPA00OtFqwAkbm2FEw1tnur Cs6StmXNCIdk8WmW4r7/p9PuyupBG06oGI+JIvc0ssx2IErY5bC3C3fH45TxmQ8VpAxH M3vZ2Qx2p/dlOizSoqjwFhXlEZc9Lq882uB08aF/eDIrD0UhrRbxH6LKGRDPGRH1xboZ ReIahAwAzwAWZ7m1xL8JYgKx5VBX/zPOcto641M6vjAOA7qpQXzdzdsMUkLVeT2V1p/d p7x0+XHVgHZ5habrP2NeNwfGPEWpLt1XsOXz4ULy8dDExCLNcS3hQ9SrZG1SZFjBCnOz hmow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776429644; x=1777034444; 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=tCmU1/figF1JyiloVNlxoi5kUCCIoazf2OEvU2igwQY=; b=Nejb6EVoK5J8ZC3gGJ12nZ9WrjfgAqeFIknOmdiO3PaERjzBKGV+pnKxUGFVqi7UPP FEzgjjjTcFt7Uf5yw3KRHe7y6mkBkAbV7nll06snF78pKN964lH3g23PPg0OJqRz45K7 V4EwRq+lY3O8RmuPOuwaIvwqhNv1Qdjzvm5oPfCK84yjnwWMSG8Eut7MdqhUmZLi3IGI 64bEs/cvQ3GQEYEVI5Ci99gBQwpJVau0zgWR8i1wpoRpetLCbAhd77wVPU8fHtvVG8zJ WqIHrVCiXe+HwRXRYSockv+ETL/HfmehTjNl8Fk+x6/yqRERdJQuJI9PmtuL5KgR1cs+ IGAA== X-Forwarded-Encrypted: i=1; AFNElJ+HdRx5dLaacd/eblwGF+y+vShEZpCnSiPlPg3PHNRfvEcFbCmaw5qY+V/28CNS/UT/eM3qxKflWo7dw028@lists.postgresql.org X-Gm-Message-State: AOJu0Yxhlczoqw3ckA7IEBhwnHzruZe5ZuF8ZqPtHXB2cwz7c8Cn0lO3 qyFdR0sGat8ta7R2uo9h6wXMDW1qJ3lELGfWSIYskt9rP1wzvDTpopp41X/RvFRWk2c= X-Gm-Gg: AeBDietogQl2Qgay6GgXyL+N8XAgkS2CiIz6tTi4pQlQU0fWVxb+dEX+7teF0Q2i3JZ J4fSowvaWweAqzBCfaMNqLylu9FsVtRMPnixt459AwumkKzVKolx1YknmvAub8Jdgb5k5IN6vlY v204k9GH8Aw10+PN83j5OZZY4OHttWG0u4J1CEK1Z1wXxRq85ZGaxGNVWWAvm5ydxz16Co41rG/ mXcCGbY8dTBezCnEimtLFsU1DqmQAtvpjF4TsMeASdOAawqpfP29svKedXhv7hHVVRJHFlP3jCE Iea0xz662kjlzDWFFPI7eGR62L7TG2Mrf0N8tZH6hI5goxborPDVmpvE7RlDykd0pzU0Xw3vSYP 3q9BZ2Qy07m6gQgk3Y6IgH71RzXEjRYHEwN+pl/snIXFW8p3JtyS4dzu7ZVM2rkVfn6NlDgPdQ6 9ttPwwmdRkIGs9+IvVnyIZHs8k2cZZNCrFy7R9jcSo X-Received: by 2002:a05:620a:489b:b0:8c6:ae78:f750 with SMTP id af79cd13be357-8e7900112acmr340024485a.14.1776429643755; Fri, 17 Apr 2026 05:40:43 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id af79cd13be357-8e7d5fe90a4sm104172885a.9.2026.04.17.05.40.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 17 Apr 2026 05:40:42 -0700 (PDT) Message-ID: <4f0d336f-3de6-4671-b7d2-b7d8e3cbf790@dunslane.net> Date: Fri, 17 Apr 2026 08:40:41 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Reject invalid databases in pg_get_database_ddl() To: Amit Langote , Lakshmi N Cc: Hu Xunqi , Euler Taveira , "pgsql-hackers@lists.postgresql.org" References: <976a432b-9221-4825-8e8f-41f4375737fe@app.fastmail.com> 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: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2026-04-17 Fr 12:22 AM, Amit Langote wrote: > On Fri, Apr 17, 2026 at 1:21 PM Lakshmi N wrote: >> On Thu, Apr 16, 2026 at 8:31 PM Amit Langote wrote: >>> On Fri, Apr 17, 2026 at 11:49 AM Hu Xunqi wrote: >>>> On Fri, Apr 17, 2026 at 10:16 AM Amit Langote wrote: >>>> + /* >>>> + * Reject invalid databases: datconnlimit = -2 would be emitted as >>>> + * CONNECTION LIMIT = -2, which cannot be executed. >>>> + */ >>>> >>>> This comment looks a bit too centered on datconnlimit=-2, but the real issue is that an invalid pg_database row should not be deparsed into DDL. So, maybe rephrase like: >>>> >>>> /* >>>> * Reject invalid databases. Deparsing a pg_database row in invalid state >>>> * can produce SQL that is not executable, such as CONNECTION LIMIT = -2. >>>> */ >>> I was trying to be precise about datconnlimit = -2 being the thing >>> that produces invalid SQL. But your version covers that with the "such >>> as CONNECTION LIMIT = -2" example, and it's closer to the original, >>> which was on the right track, just needed to be more precise. Let's go >>> with it. >> This looks good to me. Thank you for reviewing and making the changes! > Pushed. > Thanks for jumping on this. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com