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 1w1cvo-000Spu-2d for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 04:18:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1cvm-003VVV-30 for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 04:18:23 +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 1w1cvm-003VVN-1x for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 04:18:23 +0000 Received: from mail-qv1-xf2d.google.com ([2607:f8b0:4864:20::f2d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w1cvk-00000000DW3-1Xw2 for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 04:18:22 +0000 Received: by mail-qv1-xf2d.google.com with SMTP id 6a1803df08f44-899fb2b94c1so46646166d6.3 for ; Sat, 14 Mar 2026 21:18:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773548299; cv=none; d=google.com; s=arc-20240605; b=hfHcXupXb9F0Li59rXoVEhL6cj2K+gmi6z10A0d7jWwvtY4T+UW3vk/EzJrpCg9CW8 NezCjsUKEEIL1VuJRejTKThJDul3gvwSAjtCSBOg2TG2n8jx6K/podKnaqDeIX1Ye1Y0 M0W8dU/K8bIXf6yHC96COaYryrse6qjaNhNa3uQ9XENQqFA0YVeHg4Lzh9qMzXLGiSgB fwFFUZX7QXOluQBHv0S2ePzljsjkpc2yFZgKDEMEuTFsu3zxo3rM64TPLg3bgEfdTp+4 KF+3fmJEKQsLruOeUjyxhg4NbCsFuMFeJQLIgOw3C45znajZEZrv+SrY/oYg2PoUJTRv cM7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=SjzbGA7omPTYhyzH6FcUD7/uXAHImV/aykLGvslDpAE=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=XSc4clUUxUzEH7dgVXYx7vLuiLdxNYtTD67QXgL0D/0pG00o94xmDf3JY1/r6NucCe WEma43MZjBPfkDkOwyBUyepS+S6CypR8QQWkV9Kl55G/DTiUTnJKr2yEV9BpsW7dSTm0 bzFMZlP7iUewa0QQztOLRI6epfuYKXiyUZY/565Z91rKlnaQQFT3NlHBDW9ug+lwEwi7 FysxXWnqgvffdReNZGnxiT6062aUY08p0gACjQcEr9nYllvhlpv2jFcVO7zE0+kHv3/c kuAhPK7x9WB1wEMsfuOpqWKvoYdPV/f9OBqJhqZby63yHWDsvkjKSmjtTCSZs1aVhZNP nAiQ==; 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=gmail.com; s=20230601; t=1773548299; x=1774153099; darn=lists.postgresql.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=SjzbGA7omPTYhyzH6FcUD7/uXAHImV/aykLGvslDpAE=; b=FxRqhP9b1b1TKxe6rV1gh4eNNv3/BpoQE4ReI6UoFOdbDdUqMqcg0HMllQH73DBEza 4a+V/NqEnxuz9I/FT0I0P19rotp+Sa8f5u6K/+BnGc1FHAyEYpj3ipLVD58NuCnlJCgd 7Fbg0ON73p+y7R/k/k2xBTfPr14gZuElnkDlpe04/ddZE/Q53bqQuv8Uk93iJd5vaBuB cxK/N/WtEGYEa9g4CiUkatpWZ6glHBSh25hfS0xFnTggwGqST3JfDUkp0SlC+l7+WRcD PoV5DXwNys7W75pDe3ixFoiB+3qF1VB8sMR6lTHqkP4TQd77NVDrFJ34vV1S3Yz3/wRH /DRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773548299; x=1774153099; h=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=SjzbGA7omPTYhyzH6FcUD7/uXAHImV/aykLGvslDpAE=; b=HmcS7JoFBWkBmLVexY8VLkyPPt8mvPr6ftAoIRAb3+GYY/ynaGqH8MAAslDx8zuQJu P3frqy7qI6QB4HjKwaAxZqAEJ0V1YyElgt/SDJrjfahgNtQ6LPy696WRQmiuLGy432C5 4EzxEcmuhaMBFih6YhrUs7In2JTAqejkK6bHB65Nxs+PK4+Dpb9BLraomJNo9B+hdyVV bBaza5dmantQdpVoh6mRTYq4bXL1nbUksC0XEuMYX1F33Bk/BgZfmBtk9jmgO3MrT+An j595PzQ2f4ggU0/TFY7JSswVY8AI+bV62Ck+S5fj06KUeK0iFQnQHa3FvfG8mrZ8lowE LkkA== X-Gm-Message-State: AOJu0YwKorTu+sRieXrz0LL2GXVLNKBVsjH6iCuOzXT4jgblnZL9tJU6 lQ/331e68LsJ4cp2AU4/N9bawm7WCk6QtNFSbofrEhX+ARbKnM6ttK8w/6pjHjJATFrdPTuMT8H mh46wdRCS83EKst3N/Q0dnRB20AzU8i3Sfw== X-Gm-Gg: ATEYQzygqmB89dQ1NIxPNdkIkeR8/gHtWeZYnlv94eXeUzY7O4TgoJX36Bj4F0x7oBH x6uvyPTc+KXJz+mRWMmOunKqKOYDpf5KvB77go8qhOz7lPyu4iYF7CoM+w0GxbaEAWjm3pMfEkG wqSVFf/z5DrzwtIBLppJZ/rDX6LqSVdtOgVWm4HwIGTD0TrJp2b1CuIsl3WEPbr0WH3PyIuaFlG O/fF6utJlWMSwC6SUWHhHIN92lKNi9gr/IECUII7fwsVEPFcxwJ8oIPqZPCYW481XkRFdJ2uPJO dKlV6VkU X-Received: by 2002:a05:6214:4102:b0:896:cc24:138e with SMTP id 6a1803df08f44-89a81ff738cmr116953036d6.54.1773548298895; Sat, 14 Mar 2026 21:18:18 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Mahendra Singh Thalor Date: Sun, 15 Mar 2026 09:48:06 +0530 X-Gm-Features: AaiRm51x4HRh1fDyZ1BPlarr_x1kwOcY5NVgPUx6i0oKhgYvdTuew7YaH6dK7o4 Message-ID: Subject: Re: pg_restore --format= option(without any value) should report an error as pg_dump is reporting an error To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000591c01064d086472" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000591c01064d086472 Content-Type: text/plain; charset="UTF-8" On Sun, 13 Apr 2025 at 18:32, Mahendra Singh Thalor wrote: > > Hi, > With "pg_restore --format=", we are not giving any error because in code, we are checking length of arg but pg_dump is reporting an error for the same option. > > For the consistency purpose, pg_dump and pg_restore both should report an error for the test case below. > > Ex: (output after this patch)but before this patch, below command is passing. > /pg_restore x1 -d postgres -j 10 -C --verbose --format= > pg_restore: error: unrecognized archive format ""; please specify "c", "d", or "t" > > Here, I am attaching a patch which is fixing the same. I added 2 TAP tests also for invalid options. > > Note: We have 2 more options in pg_restore code which validate the option if arg has non zero length. I will prepare patches for both(--host and --port). We need to add some validate function also for both these options. > > -- > Thanks and Regards > Mahendra Singh Thalor > EnterpriseDB: http://www.enterprisedb.com Hi all, Here I am attaching a re-based patch. I think we should sync behaviour with pg_dump and pg_restore. Please review this patch and let me know feedback. -- Thanks and Regards Mahendra Singh Thalor EnterpriseDB: http://www.enterprisedb.com --000000000000591c01064d086472 Content-Type: text/x-patch; charset="US-ASCII"; name="v02-pg_restore-format-option-should-validate-all-values.patch" Content-Disposition: attachment; filename="v02-pg_restore-format-option-should-validate-all-values.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmr8ujxr0 RnJvbSA4ZmE5ZjA1NmQ1NjdjZTM1MGU4ODUwM2M4NzJlMDI2NzU5MjEwMGEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYWhlbmRyYSBTaW5naCBUaGFsb3IgPG1haGk2cnVuQGdtYWls LmNvbT4KRGF0ZTogU3VuLCAxNSBNYXIgMjAyNiAwOTo0Mjo1MiArMDUzMApTdWJqZWN0OiBbUEFU Q0hdIHBnX3Jlc3RvcmUgLS1mb3JtYXQgb3B0aW9uIHNob3VsZCB2YWxpZGF0ZSBhbGwgdmFsdWVz CgpXaXRoICJwZ19yZXN0b3JlIC0tZm9ybWF0PSIsIHdlIGFyZSBub3QgZ2l2aW5nIGFueSBlcnJv ciBiZWNhdXNlIGluIGNvZGUsIHdlIGFyZSBjaGVja2luZwpsZW5ndGggb2YgYXJnIGJ1dCBwZ19k dW1wIGlzIHRyb3VnaGluZyBhbiBlcnJvciBmb3IgdGhlIHNhbWUgb3B0aW9uLgoKRXg6IGJlZm9y ZSB0aGlzIHBhdGNoLCBiZWxvdyBjb21tYW5kIHdhcyBwYXNzaW5nLgovcGdfcmVzdG9yZSAgeDEg LWQgcG9zdGdyZXMgLWogMTAgLUMgLS12ZXJib3NlIC0tZm9ybWF0PQoKYWZ0ZXIgcGF0Y2g6Ci9w Z19yZXN0b3JlICB4MSAtZCBwb3N0Z3JlcyAtaiAxMCAtQyAtLXZlcmJvc2UgLS1mb3JtYXQ9CnBn X3Jlc3RvcmU6IGVycm9yOiB1bnJlY29nbml6ZWQgYXJjaGl2ZSBmb3JtYXQgIiI7IHBsZWFzZSBz cGVjaWZ5ICJjIiwgImQiLCBvciAidCIKCk5vdGU6IHBnX2R1bXAgaXMgYWxyZWFkeSByZXBvcnRp bmcgYW4gZXJyb3IgaW4gYWJvdmUgY2FzZS4KLS0tCiBzcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9y ZS5jICAgfCAgMyArLS0KIHNyYy9iaW4vcGdfZHVtcC90LzAwMV9iYXNpYy5wbCB8IDEwICsrKysr KysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK IG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgc3JjL2Jpbi9wZ19kdW1wL3QvMDAxX2Jhc2lj LnBsCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX3Jlc3RvcmUuYyBiL3NyYy9iaW4v cGdfZHVtcC9wZ19yZXN0b3JlLmMKaW5kZXggZmI0NGMwY2ZkZmUuLmQ3NTVkM2M3MmRjIDEwMDY0 NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCisrKyBiL3NyYy9iaW4vcGdfZHVt cC9wZ19yZXN0b3JlLmMKQEAgLTIyNSw4ICsyMjUsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKIAkJCQlvcHRzLT5maWxlbmFtZSA9IHBnX3N0cmR1cChvcHRhcmcpOwogCQkJCWJyZWFr OwogCQkJY2FzZSAnRic6Ci0JCQkJaWYgKHN0cmxlbihvcHRhcmcpICE9IDApCi0JCQkJCW9wdHMt PmZvcm1hdE5hbWUgPSBwZ19zdHJkdXAob3B0YXJnKTsKKwkJCQlvcHRzLT5mb3JtYXROYW1lID0g cGdfc3RyZHVwKG9wdGFyZyk7CiAJCQkJYnJlYWs7CiAJCQljYXNlICdnJzoKIAkJCQkvKiByZXN0 b3JlIG9ubHkgZ2xvYmFsIHNxbCBjb21tYW5kcy4gKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdf ZHVtcC90LzAwMV9iYXNpYy5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMV9iYXNpYy5wbApvbGQg bW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDJmNWViNDhlN2I4Li5iZjY2MTkxMGM2 NgotLS0gYS9zcmMvYmluL3BnX2R1bXAvdC8wMDFfYmFzaWMucGwKKysrIGIvc3JjL2Jpbi9wZ19k dW1wL3QvMDAxX2Jhc2ljLnBsCkBAIC0yMDEsNiArMjAxLDE2IEBAIGNvbW1hbmRfZmFpbHNfbGlr ZSgKIAlxci9cUXBnX3Jlc3RvcmU6IGVycm9yOiB1bnJlY29nbml6ZWQgYXJjaGl2ZSBmb3JtYXQg ImdhcmJhZ2UiO1xFLywKIAkncGdfZHVtcDogdW5yZWNvZ25pemVkIGFyY2hpdmUgZm9ybWF0Jyk7 CiAKK2NvbW1hbmRfZmFpbHNfbGlrZSgKKwlbICdwZ19yZXN0b3JlJywgJy1mIC0nLCAnLS1mb3Jt YXQ9J10sCisJcXIvXFFwZ19yZXN0b3JlOiBlcnJvcjogdW5yZWNvZ25pemVkIGFyY2hpdmUgZm9y bWF0ICIiO1xFLywKKwkncGdfZHVtcDogdW5yZWNvZ25pemVkIGFyY2hpdmUgZm9ybWF0IGVtcHR5 IHN0cmluZycpOworCitjb21tYW5kX2ZhaWxzX2xpa2UoCisJWyAncGdfcmVzdG9yZScsICctZiAt JywgJy1GJywgJ3AnIF0sCisJcXIvXFFwZ19yZXN0b3JlOiBlcnJvcjogYXJjaGl2ZSBmb3JtYXQg InAiIGlzIG5vdCBzdXBwb3J0ZWQ7IHBsZWFzZSB1c2UgcHNxbFxFLywKKwkncGdfZHVtcDogdW5y ZWNvZ25pemVkIGFyY2hpdmUgZm9ybWF0IHB8cGxhaW4nKTsKKwogY29tbWFuZF9mYWlsc19saWtl KAogCVsgJ3BnX2R1bXAnLCAnLS1vbi1jb25mbGljdC1kby1ub3RoaW5nJyBdLAogCXFyL3BnX2R1 bXA6IGVycm9yOiBvcHRpb24gLS1vbi1jb25mbGljdC1kby1ub3RoaW5nIHJlcXVpcmVzIG9wdGlv biAtLWluc2VydHMsIC0tcm93cy1wZXItaW5zZXJ0LCBvciAtLWNvbHVtbi1pbnNlcnRzLywKLS0g CjIuNTIuMAoK --000000000000591c01064d086472--