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 1tl2hu-008qCr-6h for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Feb 2025 09:18:58 +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 1tl2hs-003YYD-0w for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Feb 2025 09:18:56 +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 1tl2hr-003YY4-J3 for pgsql-hackers@lists.postgresql.org; Thu, 20 Feb 2025 09:18:55 +0000 Received: from mail-vk1-xa2b.google.com ([2607:f8b0:4864:20::a2b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tl2ho-001vug-2g for pgsql-hackers@lists.postgresql.org; Thu, 20 Feb 2025 09:18:54 +0000 Received: by mail-vk1-xa2b.google.com with SMTP id 71dfb90a1353d-5209ca3e9a6so225414e0c.2 for ; Thu, 20 Feb 2025 01:18:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740043131; x=1740647931; 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=BFH0V3h8mHrSxjeXOrwlm+D/YMrurTOvOCf8btN2tj8=; b=APdjEYdr9XbfIEW5gx8HpZ/YGVln8I2w4njG0G7jwtfEpejKDTtl8gPJArBaWWty/U TzdcDyEyCfTXiyURJ7GTvrYC9XrCLKVJnQH/b3botgFrXq8LRZU4QJtDqWeIyjRvkszK IzwBajXobikhQKlSqvqIkwsVU/M0/kIhSHtBGyQeo5zan9x3nKJ3cAhsOFxDvyuNIac+ gceAhlNG/wH7+WFzvsPGJSmGX4geuD57N2kMu0kdcMX6UWWOizv0GDdJ3OYq4ACgANHB qqQzQk3OL8m9FNF9jebzqGlVwdeJtFWCCN22mLBDLlY2d+q4U5vJKBxYVj6e58XAwc+7 DMAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740043131; x=1740647931; 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=BFH0V3h8mHrSxjeXOrwlm+D/YMrurTOvOCf8btN2tj8=; b=SXc0DgDpJwlWB87k2DtfM+8ov8E5IqC06bRoGGqV5SujPdueZGtzSEfuUCGrZiadrv Ur6ItmQN7A3sy/lFN0UlwkBl+RYEIBubXfBRSKqd7nM0dcQ7+lJCFz/T668B4VljDeDm +gh87DDQTZrlflCgM/V74+eINLjPvd02ovSsUu7SxFbjBUecSJxnTEstyUXNBA43IhOT /v9C9jmMTOYsa0vRgKcqfnQ77l1RIyezmNc8VmOFXH+MTwND9wrfR15EVO43Izhex20G ImejiHpSUcJJskjos+U6PBKgyE3YtxS6pR4DbyGBVSrlBDgJBbrZENPOMOmfIEBqUvxL dMPw== X-Forwarded-Encrypted: i=1; AJvYcCVTqaX4E7MfYCuFWtYEm6eyZ9QQhTVH/RmwHhaaW7rU456AYu6kSI5iPReSipKZq49pvb4o2FaqF7eh5Wvc@lists.postgresql.org X-Gm-Message-State: AOJu0YweJPZS/omEtwovJkKuSeQvhGlpDgu3tAP9ipQK1/9F/6oRVggP GeWI+xcbv95iCGYfDOecjqfeUwJLihMs/ZYstHQ2wpRGn4FaOta0i0utSxGlsifkSiyWEC0A+0x 9vkTfCZJYgkW94IQsd5KF88dC1T0= X-Gm-Gg: ASbGnctcLgU5aXL2H1tX3slgj6xi6xNX8OMMAK3M36NPpGkKsvq26I3siyCzHxzFnzc r6GNr3t925jVPN6V5k8ID5mNQuMbhVNBQaH4BS8a6tBIff3LbKFfAPKXgFFG8C6HJ396b+rbsyC nxTA9rC0JjucdXkmMOXKzxVnxMmCe6 X-Google-Smtp-Source: AGHT+IG71XZB8L+DgTra6XrQ0XtI1V2aU1PdkeJkPwSm8VMF0e39zCDyskAXG4H7Bwp5270dv6hpIi8vwNA8VMwdPw0= X-Received: by 2002:a05:6122:1991:b0:520:6773:e5ca with SMTP id 71dfb90a1353d-521c460cb71mr4101788e0c.6.1740043130828; Thu, 20 Feb 2025 01:18:50 -0800 (PST) MIME-Version: 1.0 References: <202502192109.5ifhfegolh6w@alvherre.pgsql> In-Reply-To: From: jian he Date: Thu, 20 Feb 2025 17:18:13 +0800 X-Gm-Features: AWEUYZnWDSEGP4TFP8eityekzHvem0EE9mRlK_IwtgVz38-Y4qLYH_qUgM3Xbw0 Message-ID: Subject: Re: Non-text mode for pg_dumpall To: Mahendra Singh Thalor Cc: =?UTF-8?Q?=C3=81lvaro_Herrera?= , Srinath Reddy , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="000000000000b56812062e8f5c02" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000b56812062e8f5c02 Content-Type: text/plain; charset="UTF-8" hi. about 0001 /* * connectDatabase * * Make a database connection with the given parameters. An * interactive password prompt is automatically issued if required. * * If fail_on_error is false, we return NULL without printing any message * on failure, but preserve any prompted password for the next try. * * On success, the global variable 'connstr' is set to a connection string * containing the options used. */ PGconn * connectDatabase(const char *dbname, const char *connection_string, const char *pghost, const char *pgport, const char *pguser, trivalue prompt_password, bool fail_on_error, const char *progname, const char **connstr, int *server_version) do the comments need to change? since no global variable 'connstr' in common_dumpall_restore.c maybe we need some words to explain server_version, (i don't have a huge opinion though). /*------------------------------------------------------------------------- * * common_dumpall_restore.c * * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * This is a common file for pg_dumpall and pg_restore. * src/bin/pg_dump/common_dumpall_restore.c * *------------------------------------------------------------------------- */ may change to /*------------------------------------------------------------------------- * * common_dumpall_restore.c * This is a common file for pg_dumpall and pg_restore. * * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION * src/bin/pg_dump/common_dumpall_restore.c * *------------------------------------------------------------------------- */ so the style aligns with most other files. (we can apply the same logic to src/bin/pg_dump/common_dumpall_restore.h) in src/bin/pg_dump/pg_dumpall.c #include "common_dumpall_restore.h" imply include "pg_backup.h". so in src/bin/pg_dump/pg_dumpall.c, we don't need include "pg_backup.h" attached are minor cosmetic changes for v19. --000000000000b56812062e8f5c02 Content-Type: application/octet-stream; name="v19_minor_change.no-cfbot" Content-Disposition: attachment; filename="v19_minor_change.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m7d4p6u10 ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXAuaCBiL3NyYy9iaW4vcGdfZHVt cC9wZ19iYWNrdXAuaAppbmRleCA2NTAwMGU1YTA4My4uMjczYzkyMDQ0YTQgMTAwNjQ0Ci0tLSBh L3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXAuaAorKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfYmFj a3VwLmgKQEAgLTMxOSw3ICszMTksNyBAQCBleHRlcm4gQXJjaGl2ZSAqQ3JlYXRlQXJjaGl2ZShj b25zdCBjaGFyICpGaWxlU3BlYywgY29uc3QgQXJjaGl2ZUZvcm1hdCBmbXQsCiAJCQkJCQkJICBE YXRhRGlyU3luY01ldGhvZCBzeW5jX21ldGhvZCk7CiAKIC8qIFRoZSAtLWxpc3Qgb3B0aW9uICov Ci1leHRlcm4gdm9pZCBQcmludFRPQ1N1bW1hcnkoQXJjaGl2ZSAqQUhYLCBib29sIGFwcGVuZF9k YXRhKTsKK2V4dGVybiB2b2lkIFByaW50VE9DU3VtbWFyeShBcmNoaXZlICpBSFgpOwogCiBleHRl cm4gUmVzdG9yZU9wdGlvbnMgKk5ld1Jlc3RvcmVPcHRpb25zKHZvaWQpOwogCmRpZmYgLS1naXQg YS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMgYi9zcmMvYmluL3BnX2R1bXAv cGdfYmFja3VwX2FyY2hpdmVyLmMKaW5kZXggYjhiMDc1NjIwNjkuLjIxNTk1ZTZkZDZmIDEwMDY0 NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMKKysrIGIvc3JjL2Jp bi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jCkBAIC0xMjY4LDcgKzEyNjgsNyBAQCBBcmNo aXZlRW50cnkoQXJjaGl2ZSAqQUhYLCBDYXRhbG9nSWQgY2F0YWxvZ0lkLCBEdW1wSWQgZHVtcElk LAogCiAvKiBQdWJsaWMgKi8KIHZvaWQKLVByaW50VE9DU3VtbWFyeShBcmNoaXZlICpBSFgsIGJv b2wgYXBwZW5kX2RhdGEpCitQcmludFRPQ1N1bW1hcnkoQXJjaGl2ZSAqQUhYKQogewogCUFyY2hp dmVIYW5kbGUgKkFIID0gKEFyY2hpdmVIYW5kbGUgKikgQUhYOwogCVJlc3RvcmVPcHRpb25zICpy b3B0ID0gQUgtPnB1YmxpYy5yb3B0OwpAQCAtMTI4NCw3ICsxMjg0LDcgQEAgUHJpbnRUT0NTdW1t YXJ5KEFyY2hpdmUgKkFIWCwgYm9vbCBhcHBlbmRfZGF0YSkKIAogCXNhdiA9IFNhdmVPdXRwdXQo QUgpOwogCWlmIChyb3B0LT5maWxlbmFtZSkKLQkJU2V0T3V0cHV0KEFILCByb3B0LT5maWxlbmFt ZSwgb3V0X2NvbXByZXNzaW9uX3NwZWMsIGFwcGVuZF9kYXRhKTsKKwkJU2V0T3V0cHV0KEFILCBy b3B0LT5maWxlbmFtZSwgb3V0X2NvbXByZXNzaW9uX3NwZWMsIGZhbHNlKTsKIAogCWlmIChzdHJm dGltZShzdGFtcF9zdHIsIHNpemVvZihzdGFtcF9zdHIpLCBQR0RVTVBfU1RSRlRJTUVfRk1ULAog CQkJCSBsb2NhbHRpbWUoJkFILT5jcmVhdGVEYXRlKSkgPT0gMCkKZGlmZiAtLWdpdCBhL3NyYy9i aW4vcGdfZHVtcC9wZ19yZXN0b3JlLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCmlu ZGV4IDhhNzhhNTJmYjA5Li41Mjk1MTI5MzEzYiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1w L3BnX3Jlc3RvcmUuYworKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCkBAIC0xMjIs NyArMTIyLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJYm9vbAkJZGF0YV9vbmx5 ID0gZmFsc2U7CiAJYm9vbAkJc2NoZW1hX29ubHkgPSBmYWxzZTsKIAlpbnQJCQluX2Vycm9ycyA9 IDA7Ci0JYm9vbAkJCQlnbG9iYWxzX29ubHkgPSBmYWxzZTsKKwlib29sCQlnbG9iYWxzX29ubHkg PSBmYWxzZTsKIAlTaW1wbGVTdHJpbmdMaXN0CWRiX2V4Y2x1ZGVfcGF0dGVybnMgPSB7TlVMTCwg TlVMTH07CiAKIAlzdHJ1Y3Qgb3B0aW9uIGNtZG9wdHNbXSA9IHsKQEAgLTU1OSwxNCArNTU5LDEz IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICogVGhpcyB3aWxsIHJlc3RvcmUgb25l IGRhdGFiYXNlIHVzaW5nIHRvYy5kYXQgZmlsZS4KICAqIGRibmFtZSBpcyB0aGUgY3VycmVudCB0 byBiZSByZXN0b3JlZCBkYXRhYmFzZSBuYW1lLgogICoKLSAqIHJldHVybnMsIG51bWJlciBvZiBl cnJvcnMgd2hpbGUgZG9pbmcgcmVzdG9yZS4KKyAqIHJldHVybnMgdGhlIG51bWJlciBvZiBlcnJv cnMgd2hpbGUgZG9pbmcgcmVzdG9yZS4KICAqLwogc3RhdGljIGludAogcmVzdG9yZU9uZURhdGFi YXNlKGNvbnN0IGNoYXIgKmlucHV0RmlsZVNwZWMsIFJlc3RvcmVPcHRpb25zICpvcHRzLAogCQkJ CSAgIGludCBudW1Xb3JrZXJzLCBib29sIGFwcGVuZF9kYXRhLCBjb25zdCBjaGFyICpkYm5hbWUp CiB7CiAJQXJjaGl2ZQkJKkFIOwotCWludAkJCW5fZXJyb3JzID0gMDsKIAogCUFIID0gT3BlbkFy Y2hpdmUoaW5wdXRGaWxlU3BlYywgb3B0cy0+Zm9ybWF0KTsKIApAQCAtNTkzLDIxICs1OTIsMTcg QEAgcmVzdG9yZU9uZURhdGFiYXNlKGNvbnN0IGNoYXIgKmlucHV0RmlsZVNwZWMsIFJlc3RvcmVP cHRpb25zICpvcHRzLAogCUFILT5udW1Xb3JrZXJzID0gbnVtV29ya2VyczsKIAogCWlmIChvcHRz LT50b2NTdW1tYXJ5KQotCQlQcmludFRPQ1N1bW1hcnkoQUgsIGFwcGVuZF9kYXRhKTsKKwkJUHJp bnRUT0NTdW1tYXJ5KEFIKTsKIAllbHNlCiAJewogCQlQcm9jZXNzQXJjaGl2ZVJlc3RvcmVPcHRp b25zKEFIKTsKIAkJUmVzdG9yZUFyY2hpdmUoQUgsIGFwcGVuZF9kYXRhKTsKIAl9CiAKLQkvKiBy ZXR1cm4gbnVtYmVyIG9mIGVycm9ycyAqLwotCWlmIChBSC0+bl9lcnJvcnMpCi0JCW5fZXJyb3Jz ID0gQUgtPm5fZXJyb3JzOwotCiAJLyogQUggbWF5IGJlIGZyZWVkIGluIENsb3NlQXJjaGl2ZT8g Ki8KIAlDbG9zZUFyY2hpdmUoQUgpOwogCi0JcmV0dXJuIG5fZXJyb3JzOworCXJldHVybiBBSC0+ bl9lcnJvcnM7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xMTYzLDcgKzExNTgsNyBAQCByZXN0b3Jl QWxsRGF0YWJhc2VzKFBHY29ubiAqY29ubiwgY29uc3QgY2hhciAqZHVtcGRpcnBhdGgsCiAJCWlm IChuX2Vycm9ycykKIAkJewogCQkJbl9lcnJvcnNfdG90YWwgKz0gbl9lcnJvcnM7Ci0JCQlwZ19s b2dfd2FybmluZygiZXJyb3JzIGlnbm9yZWQgb24gXCIlc1wiIGRhdGFiYXNlIHJlc3RvcmU6ICVk IiwgZGJvaWRfY2VsbC0+ZGJfbmFtZSwgbl9lcnJvcnMpOworCQkJcGdfbG9nX3dhcm5pbmcoImVy cm9ycyBpZ25vcmVkIG9uIGRhdGFiYXNlIFwiJXNcIiByZXN0b3JlOiAlZCIsIGRib2lkX2NlbGwt PmRiX25hbWUsIG5fZXJyb3JzKTsKIAkJfQogCiAJCWRib2lkX2NlbGwgPSBkYm9pZF9jZWxsLT5u ZXh0OwpAQCAtMTE5Myw3ICsxMTg4LDcgQEAgcmVzdG9yZUFsbERhdGFiYXNlcyhQR2Nvbm4gKmNv bm4sIGNvbnN0IGNoYXIgKmR1bXBkaXJwYXRoLAogICogU2VtaWNvbG9uIGlzIGNvbnNpZGVyZWQg YXMgc3RhdGVtZW50IHRlcm1pbmF0b3IuICBJZiBvdXRmaWxlIGlzIHBhc3NlZCwgdGhlbgogICog dGhpcyB3aWxsIGNvcHkgYWxsIHNxbCBjb21tYW5kcyBpbnRvIG91dGZpbGUgcmF0aGVyIHRoZW4g ZXhlY3V0aW5nIHRoZW0uCiAgKgotICogcmV0dXJucywgbnVtYmVyIG9mIGVycm9ycyB3aGlsZSBw cm9jZXNzaW5nIGdsb2JhbC5kYXQKKyAqIHJldHVybnMgdGhlIG51bWJlciBvZiBlcnJvcnMgd2hp bGUgcHJvY2Vzc2luZyBnbG9iYWwuZGF0CiAgKi8KIHN0YXRpYyBpbnQKIHByb2Nlc3NfZ2xvYmFs X3NxbF9jb21tYW5kcyhQR2Nvbm4gKmNvbm4sIGNvbnN0IGNoYXIgKmR1bXBkaXJwYXRoLCBjb25z dCBjaGFyICpvdXRmaWxlKQo= --000000000000b56812062e8f5c02--