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.94.2) (envelope-from ) id 1tYLUq-009sc5-Rl for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Jan 2025 08:45:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tYLUp-008jmn-Fg for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Jan 2025 08:44:59 +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.94.2) (envelope-from ) id 1tYLUp-008jmd-4K for pgsql-hackers@lists.postgresql.org; Thu, 16 Jan 2025 08:44:59 +0000 Received: from mail-vk1-xa2a.google.com ([2607:f8b0:4864:20::a2a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tYLUn-000iAq-0u for pgsql-hackers@postgresql.org; Thu, 16 Jan 2025 08:44:58 +0000 Received: by mail-vk1-xa2a.google.com with SMTP id 71dfb90a1353d-51882748165so146422e0c.3 for ; Thu, 16 Jan 2025 00:44:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737017095; x=1737621895; darn=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=X1tWaCE6MhEE0oitPu+ju4DoBgJocfJvDgKiDs+PDUs=; b=OTILLTM9CDv79ifsot8U7fxlgI3k81K3oLXJ+FBMdoo2rrgfr63+WmuNx0dQdUFq7q Lrx3aq5OT4B/JkMUgBGbO7RxYd9pRUKet/6cnsxfmrJMcR7SPZzHj+i+avovqfpOabZT z2LTDVhvFqZmeymRtuAK7eE78S0GnuVH8+Lk0FyzlizrYQm3hsAR3s4Dq7co7MSO43px 77AWGtR7WaEiuHjAsR8YQDJsyunCVMgZD8djbkJZFPSkUMu4OYKD8Z/sT0A2nmfFAycO kM4VCj7W85NMq1akT4y8j4WxXN/iHgH8dDZGi/zc9oo0q3xDrzIZ0VChlMemPlrCTcXO Z2Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737017095; x=1737621895; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=X1tWaCE6MhEE0oitPu+ju4DoBgJocfJvDgKiDs+PDUs=; b=iy7n+ZWjlNq3iNIH8yDs29QNBqpe0BXgI+NPswmPqx8T0FN8h8fovg6eW8eA7ROoUQ ZAcxcCxQHRN+VMZtgcbknP5fOpZtERpx1fGWJmvu0ZsTMPN7jJFbzO284zEdO7NsG2x8 wMf2zpA6qe78S8IDJ1naPzNC7RGKPmjiQ5ZN0ILkD5222j6dqAQC9D1PR2lzidiH6+5w 3Og1EW9qHk16J43DmykyylAVRh+HjocgxEu340GWIfZRYYdM9N5kRPYFRqVly6cWzqVU xdPlXiJwjfus40wRMDrC5jVKHZoguTgKWP0ky7G3IYpVLUoaxFN+pnuh5/hCn7y/+I2c sG0A== X-Forwarded-Encrypted: i=1; AJvYcCUDpdQvcv2V2Zk8FRbUPpqs1d8WPmc97ru0O6pOT+6vKuQ42l7yJK0kzSy6NjbYMb0jM1kZL/Mxe6ootrPN@postgresql.org X-Gm-Message-State: AOJu0YwrgFE65BpdEtptN+8UpuHZrp9XsemIViQzwrFzvJIL/WhXrxoh qxqibGqI7GDEUlPWYedTbs1X7P3UCXRxhRojUo8U6Q51dyRfRceHJqZXCThZOMG1071F+HTSrHj ZcTxSlqPAH765nsA7yAZAtP+yTfc= X-Gm-Gg: ASbGnct8PZe533nSmmt7Kp/ZmmjGaHKJCFLTHIfG/b7sFfbMHuIh551BEtgYOr/AV/7 KfpnR/JuFuRXdZPqHm7HkLj/KjrqtjWT0/4cmMMe014mflZklc2ufaXAtmzemJP1OWKPDBw== X-Google-Smtp-Source: AGHT+IG+VN5OaGpsAIZIScQ5ECUeT9ghglV52JnO85JhP7dB7QjKgvSX9QPAw6PzgxFchbD96s/kJegTf3cD60wTCx0= X-Received: by 2002:a05:6102:a4e:b0:4b2:4cb0:91d5 with SMTP id ada2fe7eead31-4b3d0fc4fdbmr28526839137.15.1737017095664; Thu, 16 Jan 2025 00:44:55 -0800 (PST) MIME-Version: 1.0 References: <202501110844.5ztsym4vbflm@alvherre.pgsql> In-Reply-To: From: jian he Date: Thu, 16 Jan 2025 16:44:18 +0800 X-Gm-Features: AbW1kvaDLRhVMrANg9tcDELKzwbcYsCAzkfyMPDpsuh2hAM8TxlW81mnvix3m04 Message-ID: Subject: Re: Non-text mode for pg_dumpall To: Mahendra Singh Thalor Cc: Alvaro Herrera , Guillaume Lelarge , Nathan Bossart , Magnus Hagander , Tom Lane , Andrew Dunstan , PostgreSQL-development , Dilip Kumar Content-Type: multipart/mixed; boundary="000000000000f4d861062bceceaa" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f4d861062bceceaa Content-Type: text/plain; charset="UTF-8" hi. $BIN6/pg_dumpall --format=directory --verbose --file=test1 pg_dumpall: executing SELECT pg_catalog.set_config('search_path', '', false); pg_dumpall: error: could not create directory "test1": File exists we should first validate --file option, if not ok error out immediately. if ok then connect to db then run the sql query? create_or_open_dir also needs to change. The attached is the minor change I came up with. --000000000000f4d861062bceceaa Content-Type: application/octet-stream; name="v9-0001-minor-refactor-pg_dumpall.no-cfbot" Content-Disposition: attachment; filename="v9-0001-minor-refactor-pg_dumpall.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m5z33jsn0 ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9tZXNvbi5idWlsZCBiL3NyYy9iaW4vcGdfZHVt cC9tZXNvbi5idWlsZAppbmRleCA2MDNiYTZjZmJmLi45OWFlNzc0YjMyIDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX2R1bXAvbWVzb24uYnVpbGQKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL21lc29uLmJ1 aWxkCkBAIC0xNiw2ICsxNiw3IEBAIHBnX2R1bXBfY29tbW9uX3NvdXJjZXMgPSBmaWxlcygKICAg J3BnX2JhY2t1cF9udWxsLmMnLAogICAncGdfYmFja3VwX3Rhci5jJywKICAgJ3BnX2JhY2t1cF91 dGlscy5jJywKKyAgJ2NvbW1vbl9kdW1wYWxsX3Jlc3RvcmUuYycsCiApCiAKIHBnX2R1bXBfY29t bW9uID0gc3RhdGljX2xpYnJhcnkoJ2xpYnBnZHVtcF9jb21tb24nLApkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ19kdW1wL3BnX2R1bXBhbGwuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMK aW5kZXggNGJiMGM4MDMwZS4uODQwOTM1OWI5YiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXBhbGwuYworKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcGFsbC5jCkBAIC00Nzgs NiArNDc4LDMzIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAlpZiAob25fY29uZmxp Y3RfZG9fbm90aGluZykKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocGdkdW1wb3B0cywgIiAtLW9u LWNvbmZsaWN0LWRvLW5vdGhpbmciKTsKIAorCS8qCisJICogT3BlbiB0aGUgb3V0cHV0IGZpbGUg aWYgcmVxdWlyZWQsIG90aGVyd2lzZSB1c2Ugc3Rkb3V0LiAgSWYgcmVxdWlyZWQsCisJICogdGhl biBjcmVhdGUgbmV3IGRpcmVjdG9yeSBhbmQgZ2xvYmFsLmRhdCBmaWxlLgorCSAqLworCWlmIChh cmNoRHVtcEZvcm1hdCAhPSBhcmNoTnVsbCkKKwl7CisJCWNoYXIJdG9jX3BhdGhbTUFYUEdQQVRI XTsKKworCQkvKiBDcmVhdGUgbmV3IGRpcmVjdG9yeSBvciBhY2NlcHQgdGhlIGVtcHR5IGV4aXN0 aW5nIGRpcmVjdG9yeS4gKi8KKwkJY3JlYXRlX29yX29wZW5fZGlyKGZpbGVuYW1lKTsKKworCQlz bnByaW50Zih0b2NfcGF0aCwgTUFYUEdQQVRILCAiJXMvZ2xvYmFsLmRhdCIsIGZpbGVuYW1lKTsK KworCQlPUEYgPSBmb3Blbih0b2NfcGF0aCwgInciKTsKKwkJaWYgKCFPUEYpCisJCQlwZ19mYXRh bCgiY291bGQgbm90IG9wZW4gZ2xvYmFsLmRhdCBmaWxlOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7 CisJfQorCWVsc2UgaWYgKGZpbGVuYW1lKQorCXsKKwkJT1BGID0gZm9wZW4oZmlsZW5hbWUsIFBH X0JJTkFSWV9XKTsKKwkJaWYgKCFPUEYpCisJCQlwZ19mYXRhbCgiY291bGQgbm90IG9wZW4gb3V0 cHV0IGZpbGUgXCIlc1wiOiAlbSIsCisJCQkJCSBmaWxlbmFtZSk7CisJfQorCWVsc2UKKwkJT1BG ID0gc3Rkb3V0OworCiAJLyoKIAkgKiBJZiB0aGVyZSB3YXMgYSBkYXRhYmFzZSBzcGVjaWZpZWQg b24gdGhlIGNvbW1hbmQgbGluZSwgdXNlIHRoYXQsCiAJICogb3RoZXJ3aXNlIHRyeSB0byBjb25u ZWN0IHRvIGRhdGFiYXNlICJwb3N0Z3JlcyIsIGFuZCBmYWlsaW5nIHRoYXQKQEAgLTUxNywzMyAr NTQ0LDYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCWV4cGFuZF9kYm5hbWVfcGF0 dGVybnMoY29ubiwgJmRhdGFiYXNlX2V4Y2x1ZGVfcGF0dGVybnMsCiAJCQkJCQkgICAmZGF0YWJh c2VfZXhjbHVkZV9uYW1lcyk7CiAKLQkvKgotCSAqIE9wZW4gdGhlIG91dHB1dCBmaWxlIGlmIHJl cXVpcmVkLCBvdGhlcndpc2UgdXNlIHN0ZG91dC4gIElmIHJlcXVpcmVkLAotCSAqIHRoZW4gY3Jl YXRlIG5ldyBkaXJlY3RvcnkgYW5kIGdsb2JhbC5kYXQgZmlsZS4KLQkgKi8KLQlpZiAoYXJjaER1 bXBGb3JtYXQgIT0gYXJjaE51bGwpCi0JewotCQljaGFyCXRvY19wYXRoW01BWFBHUEFUSF07Ci0K LQkJLyogQ3JlYXRlIG5ldyBkaXJlY3RvcnkgYW5kIGFjY2VwdCB0aGUgZW1wdHkgZXhpc3Rpbmcg ZGlyZWN0b3J5LiAqLwotCQljcmVhdGVfb3Jfb3Blbl9kaXIoZmlsZW5hbWUpOwotCi0JCXNucHJp bnRmKHRvY19wYXRoLCBNQVhQR1BBVEgsICIlcy9nbG9iYWwuZGF0IiwgZmlsZW5hbWUpOwotCi0J CU9QRiA9IGZvcGVuKHRvY19wYXRoLCAidyIpOwotCQlpZiAoIU9QRikKLQkJCXBnX2ZhdGFsKCJj b3VsZCBub3Qgb3BlbiBnbG9iYWwuZGF0IGZpbGU6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKLQl9 Ci0JZWxzZSBpZiAoZmlsZW5hbWUpCi0JewotCQlPUEYgPSBmb3BlbihmaWxlbmFtZSwgUEdfQklO QVJZX1cpOwotCQlpZiAoIU9QRikKLQkJCXBnX2ZhdGFsKCJjb3VsZCBub3Qgb3BlbiBvdXRwdXQg ZmlsZSBcIiVzXCI6ICVtIiwKLQkJCQkJIGZpbGVuYW1lKTsKLQl9Ci0JZWxzZQotCQlPUEYgPSBz dGRvdXQ7Ci0KIAkvKgogCSAqIFNldCB0aGUgY2xpZW50IGVuY29kaW5nIGlmIHJlcXVlc3RlZC4K IAkgKi8KQEAgLTE4ODcsOSArMTg4NywxNyBAQCBjcmVhdGVfb3Jfb3Blbl9kaXIoY29uc3QgY2hh ciAqZGlybmFtZSkKIAkJCQlwZ19mYXRhbCgiY291bGQgbm90IGNsb3NlIGRpcmVjdG9yeSBcIiVz XCI6ICVtIiwKIAkJCQkJCWRpcm5hbWUpOwogCQl9Ci0JfQogCi0JaWYgKCFpc19lbXB0eSAmJiBt a2RpcihkaXJuYW1lLCAwNzAwKSA8IDApCi0JCXBnX2ZhdGFsKCJjb3VsZCBub3QgY3JlYXRlIGRp cmVjdG9yeSBcIiVzXCI6ICVtIiwKLQkJCQlkaXJuYW1lKTsKKwkJaWYoIWlzX2VtcHR5KQorCQl7 CisJCQlwZ19sb2dfZXJyb3IoImRpcmVjdG9yeSBcIiVzXCIgZXhpc3RzIGJ1dCBpcyBub3QgZW1w dHkiLCBkaXJuYW1lKTsKKwkJCXBnX2xvZ19lcnJvcl9oaW50KCJJZiB5b3Ugd2FudCB0byBkdW1w IGRhdGEgb24gdGhpcyBkaXJlY3RvcnksIGVpdGhlciByZW1vdmUgb3IgZW1wdHkgIgorCQkJCQkJ CSAgInRoaXMgZGlyZWN0b3J5IFwiJXNcIiBvciBydW4gJXMgIgorCQkJCQkJCSAgIndpdGggYW4g YXJndW1lbnQgb3RoZXIgdGhhbiBcIiVzXCIuIiwKKwkJCQkJCQkgIGRpcm5hbWUsIHByb2duYW1l LCBkaXJuYW1lKTsKKwkJCWV4aXRfbmljZWx5KDEpOworCQl9CisJfQorCWVsc2UgaWYgKG1rZGly KGRpcm5hbWUsIDA3MDApIDwgMCkKKwkJcGdfZmF0YWwoImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0 b3J5IFwiJXNcIjogJW0iLCBkaXJuYW1lKTsKIH0K --000000000000f4d861062bceceaa--