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 1u4l3V-006uaj-Hq for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Apr 2025 18:30:46 +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 1u4l3S-00Ezqh-FW for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Apr 2025 18:30:43 +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 1u4l3S-00EzqX-2R for pgsql-hackers@lists.postgresql.org; Tue, 15 Apr 2025 18:30:42 +0000 Received: from mail-qt1-x82d.google.com ([2607:f8b0:4864:20::82d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u4l3P-000G1G-02 for pgsql-hackers@lists.postgresql.org; Tue, 15 Apr 2025 18:30:42 +0000 Received: by mail-qt1-x82d.google.com with SMTP id d75a77b69052e-4766cb762b6so56519151cf.0 for ; Tue, 15 Apr 2025 11:30:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744741838; x=1745346638; 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=CZIFrCsN5nyfgbPmrDEy4kclSP499AjjX2TWJ4MPNfE=; b=gwrs0LXabUV+aEMHgXGSgy9pzh3qdJVyRovl0zCTydxcRCx1FBFtJmVrZeYjv4Zlni IxuxitFViuVcy+WrpYwdzjK8V3BetnuOnTrlvY55mTSEJ1iRZZEgA5GB1SL4OOoiWM5c r/+Ay3O5iykAPbUkDQmUHIb58WWz1mtHobEboTmc/CIA8W+/MAASZBvFQYb2wLirxKaM UVb7M0GOuyNO0N//2dAl8UvD8ixI+fIg99FFfveysbvuFtEns1ae+q0UMRMm6p4Jhgks s0ftcP/LowWz1RRico7z8fgzy3gi6SNRCpcOZ0Ky4DFdXUvE9B594OM6CcBWZkziTDnE 4wig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744741838; x=1745346638; 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=CZIFrCsN5nyfgbPmrDEy4kclSP499AjjX2TWJ4MPNfE=; b=Sj8BmUxcFOTz9Yh5HduShckQli1LIsrxhg2D8cZWtyQ7jnZ0zKg3jSvPs7afUA8VgG pCGIAMipVClEJjXcnOoycCuNcXacxY9oRDdLjX8OZLEZ6URQplzV/0/hv+l7q7BLpv/9 L5Vun11Tx3W4rUrpIlD+fSkIWjo2YgIMvmjYbZGHqCtO0284wYT3oXrX93Hl7WqzgYED vuepy6wajZDvUWmkrpIVlP0r44TAjPB4AbcfESO8haCVf0A8NqE3i8f/X0PwfaVT1yH5 LaAJUs1P1Cpz/iygO1PYvOVQPOgpNS73NaxHSPrDhWGCEGt7hYehGqtRx8Ui5SgcJBfs 16sg== X-Forwarded-Encrypted: i=1; AJvYcCVQmzzTD/KyvGUIQKfhMclnfTJPJ7mqlFJ+R95nP0BQMKCHnyhb+T4GT/BUYzndmNwipHw3hd3FmWMQvbI/@lists.postgresql.org X-Gm-Message-State: AOJu0YywKFm6+LnCZxCI749psMR5oTJzhbh3PZF3e+iOQhl3S2xhgiwF v4C2WI7ah4Q0d+5tDuOC2KCy9yaJTQnCsPTQl0ZxxNuwstHY5an/DTmdhUjm0Gs71Tm+EJ4OIEV yK8tm95/vBgHgJNkQQH9s9dk4LwU= X-Gm-Gg: ASbGncukLjKkUDdyrc/YI99sqjJAoY1pKLHw7A366SNVKJUy4fCbfK7tZ1U2muzXpCE VDWMyuAvUnQtat5N83yBaG+W6wep6J7r99ITnRi1Ahw55ySft+Lr2VXA6hyK28i0hiT4DFk15sQ I/U2Ch48Fbr1f4sPpsdLR7 X-Google-Smtp-Source: AGHT+IFLdhOgb34O/lAJgPpKKlsFUFh6Cxa+3kbUXmQJsD/kCKKwT9ZOp88PjUgtPMm0lDPFdn9+Hm+uqfOSKl8bGHc= X-Received: by 2002:ac8:57c2:0:b0:477:bd4:6a4c with SMTP id d75a77b69052e-47ad36024a3mr8431941cf.1.1744741838038; Tue, 15 Apr 2025 11:30:38 -0700 (PDT) MIME-Version: 1.0 References: <202503311812.vxg5b7rzfgf6@alvherre.pgsql> <616efe2c-3986-43cf-b88c-4435849acf9e@dunslane.net> <948154fe-0278-4f4c-8f5a-085e12f03163@dunslane.net> In-Reply-To: <948154fe-0278-4f4c-8f5a-085e12f03163@dunslane.net> From: Mahendra Singh Thalor Date: Wed, 16 Apr 2025 00:00:25 +0530 X-Gm-Features: ATxdqUFNpiDreLRQm050yKalVPOqg8QrVVyU8AxyXIfr3Jw9pZkBnuUjD9BVRZI Message-ID: Subject: Re: Non-text mode for pg_dumpall To: Andrew Dunstan Cc: =?UTF-8?Q?=C3=81lvaro_Herrera?= , jian he , Srinath Reddy , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000007b6d0d0632d55d51" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000007b6d0d0632d55d51 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 5 Apr 2025 at 01:41, Andrew Dunstan wrote: > > > On 2025-04-04 Fr 5:12 AM, Mahendra Singh Thalor wrote: > > On Fri, 4 Apr 2025 at 13:52, Mahendra Singh Thalor w= rote: > > On Fri, 4 Apr 2025 at 01:17, Andrew Dunstan wrote: > > On 2025-04-01 Tu 1:59 AM, Mahendra Singh Thalor wrote: > > On Mon, 31 Mar 2025 at 23:43, =C3=81lvaro Herrera wrote: > > Hi > > FWIW I don't think the on_exit_nicely business is in final shape just > yet. We're doing something super strange and novel about keeping track > of an array index, so that we can modify it later. Or something like > that, I think? That doesn't sound all that nice to me. Elsewhere it > was suggested that we need some way to keep track of the list of things > that need cleanup (a list of connections IIRC?) -- perhaps in a > thread-local variable or a global or something -- and we install the > cleanup function once, and that reads from the variable. The program > can add things to the list, or remove them, at will; and we don't need > to modify the cleanup function in any way. > > -- > =C3=81lvaro Herrera Breisgau, Deutschland =E2=80=94 https://www.= EnterpriseDB.com/ > > Thanks =C3=81lvaro for the feedback. > > I removed the old handling of on_exit_nicely_list from the last patch > set and added one simple function to just update the archive handle in > shutdown_info. (shutdown_info.AHX =3D AHX;) > > For first database, we will add entry into on_exit_nicely_list array > and for rest database, we will update only shutdown_info as we already > closed connection for previous database.With this fix, we will not > touch entry of on_exit_nicely_list for each database. > > Here, I am attaching updated patches. > > > OK, looks good. here's my latest. I'm currently working on tidying up > docco and comments. > > > cheers > > > andrew > > > > > -- > Andrew Dunstan > EDB: https://www.enterprisedb.com > > Thanks Andrew for the updated patches. > > Here, I am attaching a delta patch with some more TAP-test cases. > > Here, I am attaching an updated delta patch which has some more TAP > tests. Please include these tests also. This patch can be applied on > v20250403_0004* patch. > > > > Thanks. I have pushed these now with a few further small tweaks. > > > cheers > > > andrew > > -- > Andrew Dunstan > EDB: https://www.enterprisedb.com Hi Andrew, I did some refactoring to find out dump file extensions(.dmp/.tar etc) in pg_restore. With the attached patch, we will not try to find out file extension with each database, rather we will find out before the loop. Here, I am attaching a patch for the same. Please have a look over this. --=20 Thanks and Regards Mahendra Singh Thalor EnterpriseDB: http://www.enterprisedb.com --0000000000007b6d0d0632d55d51 Content-Type: application/octet-stream; name="v01-pg_restore-refactor-code-of-dump-file-extenion.patch" Content-Disposition: attachment; filename="v01-pg_restore-refactor-code-of-dump-file-extenion.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m9iu7pw30 RnJvbSBiNDcyMWY0YzkxMDE3Mjk3Y2ZiZGVhYTQ1ODI5MWY3YTk3YjAyM2Q3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYWhlbmRyYSBTaW5naCBUaGFsb3IgPG1haGk2cnVuQGdtYWls LmNvbT4KRGF0ZTogVHVlLCAxNSBBcHIgMjAyNSAyMzo0NTo0NCArMDUzMApTdWJqZWN0OiBbUEFU Q0hdIHBnX3Jlc3RvcmU6IHJlZmFjdG9yIGNvZGUgb2YgZHVtcCBmaWxlIGV4dGVuaW9uCgpBZnRl ciB0aGlzIHJlZmFjdG9yLCB3ZSB3aWxsIGZpbmQgZmlsZSBleHRlbnNpb24gb25jZSBidXQgZWFy bGllciB3ZSB3ZXJlIHRyeWluZwp0byBnZXQgZXh0ZW5zaW9uIGZvciBlYWNoIGRhdGFiYXNlIGlu IGxvb3AuCi0tLQogc3JjL2Jpbi9wZ19kdW1wL3BnX3Jlc3RvcmUuYyB8IDgyICsrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYxIGluc2VydGlvbnMo KyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19yZXN0 b3JlLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCmluZGV4IGZmNGJiMzIwZmM5Li5l NjQ4Njk1NzYyMCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX3Jlc3RvcmUuYworKysg Yi9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCkBAIC03MSw2ICs3MSw4IEBAIHN0YXRpYyBp bnQJZ2V0X2RibmFtZXNfbGlzdF90b19yZXN0b3JlKFBHY29ubiAqY29ubiwKIAkJCQkJCQkJCQlT aW1wbGVTdHJpbmdMaXN0IGRiX2V4Y2x1ZGVfcGF0dGVybnMpOwogc3RhdGljIGludAlnZXRfZGJu YW1lX29pZF9saXN0X2Zyb21fbWZpbGUoY29uc3QgY2hhciAqZHVtcGRpcnBhdGgsCiAJCQkJCQkJ CQkJICAgU2ltcGxlT2lkU3RyaW5nTGlzdCAqZGJuYW1lX29pZF9saXN0KTsKK3N0YXRpYworY2hh ciAqZ2V0X2R1bXBfZmlsZV9leHRlbihjb25zdCBjaGFyICpkdW1wZGlycGF0aCwgT2lkIGRib2lk LCBjb25zdCBBcmNoaXZlRm9ybWF0IGZvcm1hdCk7CiAKIGludAogbWFpbihpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCkBAIC0xMTA5LDYgKzExMTEsNyBAQCByZXN0b3JlX2FsbF9kYXRhYmFzZXMoUEdj b25uICpjb25uLCBjb25zdCBjaGFyICpkdW1wZGlycGF0aCwKIAlib29sCQlkdW1wRGF0YSA9IG9w dHMtPmR1bXBEYXRhOwogCWJvb2wJCWR1bXBTY2hlbWEgPSBvcHRzLT5kdW1wU2NoZW1hOwogCWJv b2wJCWR1bXBTdGF0aXN0aWNzID0gb3B0cy0+ZHVtcFNjaGVtYTsKKwljb25zdCBjaGFyICpmaWxl X2V4dGVuOwogCiAJLyogU2F2ZSBkYiBuYW1lIHRvIHJldXNlIGl0IGZvciBhbGwgdGhlIGRhdGFi YXNlLiAqLwogCWlmIChvcHRzLT5jcGFyYW1zLmRibmFtZSkKQEAgLTExNjMsNiArMTE2Niw5IEBA IHJlc3RvcmVfYWxsX2RhdGFiYXNlcyhQR2Nvbm4gKmNvbm4sIGNvbnN0IGNoYXIgKmR1bXBkaXJw YXRoLAogCiAJcGdfbG9nX2luZm8oIm5lZWQgdG8gcmVzdG9yZSAlZCBkYXRhYmFzZXMgb3V0IG9m ICVkIGRhdGFiYXNlcyIsIG51bV9kYl9yZXN0b3JlLCBudW1fdG90YWxfZGIpOwogCisJLyogTm93 IGdldCBkdW1wIGZpbGUgZXh0ZW50aW9uLiAqLworCWZpbGVfZXh0ZW4gPSBnZXRfZHVtcF9maWxl X2V4dGVuKGR1bXBkaXJwYXRoLCBkYm5hbWVfb2lkX2xpc3QuaGVhZC0+b2lkLCBvcHRzLT5mb3Jt YXQpOworCiAJLyoKIAkgKiBUaWxsIG5vdywgd2UgbWFkZSBhIGxpc3Qgb2YgZGF0YWJhc2VzLCB0 aG9zZSBuZWVkcyB0byBiZSByZXN0b3JlZCBhZnRlcgogCSAqIHNraXBwaW5nIG5hbWVzIG9mIGV4 Y2x1ZGUtZGF0YWJhc2UuICBOb3cgd2UgY2FuIGxhdW5jaCBwYXJhbGxlbCB3b3JrZXJzCkBAIC0x MTcyLDggKzExNzgsNiBAQCByZXN0b3JlX2FsbF9kYXRhYmFzZXMoUEdjb25uICpjb25uLCBjb25z dCBjaGFyICpkdW1wZGlycGF0aCwKIAkJIGRiX2NlbGw7IGRiX2NlbGwgPSBkYl9jZWxsLT5uZXh0 KQogCXsKIAkJY2hhcgkJc3ViZGlycGF0aFtNQVhQR1BBVEhdOwotCQljaGFyCQlzdWJkaXJkYnBh dGhbTUFYUEdQQVRIXTsKLQkJY2hhcgkJZGJmaWxlbmFtZVtNQVhQR1BBVEhdOwogCQlpbnQJCQlu X2Vycm9yczsKIAogCQkvKiBpZ25vcmUgZGJzIG1hcmtlZCBmb3Igc2tpcHBpbmcgKi8KQEAgLTEx OTAsMjUgKzExOTQsOCBAQCByZXN0b3JlX2FsbF9kYXRhYmFzZXMoUEdjb25uICpjb25uLCBjb25z dCBjaGFyICpkdW1wZGlycGF0aCwKIAkJCW9wdHMtPmNwYXJhbXMub3ZlcnJpZGVfZGJuYW1lID0g TlVMTDsKIAkJfQogCi0JCXNucHJpbnRmKHN1YmRpcmRicGF0aCwgTUFYUEdQQVRILCAiJXMvZGF0 YWJhc2VzIiwgZHVtcGRpcnBhdGgpOwotCi0JCS8qCi0JCSAqIExvb2sgZm9yIHRoZSBkYXRhYmFz ZSBkdW1wIGZpbGUvZGlyLiBJZiB0aGVyZSBpcyBhbiB7b2lkfS50YXIgb3IKLQkJICoge29pZH0u ZG1wIGZpbGUsIHVzZSBpdC4gT3RoZXJ3aXNlIHRyeSB0byB1c2UgYSBkaXJlY3RvcnkgY2FsbGVk Ci0JCSAqIHtvaWR9Ci0JCSAqLwotCQlzbnByaW50ZihkYmZpbGVuYW1lLCBNQVhQR1BBVEgsICIl dS50YXIiLCBkYl9jZWxsLT5vaWQpOwotCQlpZiAoZmlsZV9leGlzdHNfaW5fZGlyZWN0b3J5KHN1 YmRpcmRicGF0aCwgZGJmaWxlbmFtZSkpCi0JCQlzbnByaW50ZihzdWJkaXJwYXRoLCBNQVhQR1BB VEgsICIlcy9kYXRhYmFzZXMvJXUudGFyIiwgZHVtcGRpcnBhdGgsIGRiX2NlbGwtPm9pZCk7Ci0J CWVsc2UKLQkJewotCQkJc25wcmludGYoZGJmaWxlbmFtZSwgTUFYUEdQQVRILCAiJXUuZG1wIiwg ZGJfY2VsbC0+b2lkKTsKLQotCQkJaWYgKGZpbGVfZXhpc3RzX2luX2RpcmVjdG9yeShzdWJkaXJk YnBhdGgsIGRiZmlsZW5hbWUpKQotCQkJCXNucHJpbnRmKHN1YmRpcnBhdGgsIE1BWFBHUEFUSCwg IiVzL2RhdGFiYXNlcy8ldS5kbXAiLCBkdW1wZGlycGF0aCwgZGJfY2VsbC0+b2lkKTsKLQkJCWVs c2UKLQkJCQlzbnByaW50ZihzdWJkaXJwYXRoLCBNQVhQR1BBVEgsICIlcy9kYXRhYmFzZXMvJXUi LCBkdW1wZGlycGF0aCwgZGJfY2VsbC0+b2lkKTsKLQkJfQorCQkvKiBTZXQgcGFydGljdWxhciBk dW1wIGZpbGUgcGF0aC4gKi8KKwkJc25wcmludGYoc3ViZGlycGF0aCwgTUFYUEdQQVRILCAiJXMv ZGF0YWJhc2VzLyV1JXMiLCBkdW1wZGlycGF0aCwgZGJfY2VsbC0+b2lkLCBmaWxlX2V4dGVuKTsK IAogCQlwZ19sb2dfaW5mbygicmVzdG9yaW5nIGRhdGFiYXNlIFwiJXNcIiIsIGRiX2NlbGwtPnN0 cik7CiAKQEAgLTEzODQsMyArMTM3MSw1NiBAQCBjb3B5X29yX3ByaW50X2dsb2JhbF9maWxlKGNv bnN0IGNoYXIgKm91dGZpbGUsIEZJTEUgKnBmaWxlKQogCWlmIChzdHJjbXAob3V0ZmlsZSwgIi0i KSAhPSAwKQogCQlmY2xvc2UoT1BGKTsKIH0KKworLyoKKyAqIGdldF9kdW1wX2ZpbGVfZXh0ZW4K KyAqCisgKiBMb29rIGZvciB0aGUgZGF0YWJhc2UgZHVtcCBmaWxlL2Rpci4gSWYgdGhlcmUgaXMg YW4ge29pZH0udGFyIG9yCisgKiB7b2lkfS5kbXAgZmlsZSwgdXNlIGl0LiBPdGhlcndpc2UgdHJ5 IHRvIHVzZSBhIGRpcmVjdG9yeSBjYWxsZWQKKyAqIHtvaWR9CisgKi8KK3N0YXRpYworY2hhciAq Z2V0X2R1bXBfZmlsZV9leHRlbihjb25zdCBjaGFyICpkdW1wZGlycGF0aCwgT2lkIGRib2lkLCBj b25zdCBBcmNoaXZlRm9ybWF0IGZvcm1hdCkKK3sKKwljaGFyCSpmaWxlX2V4dGVuID0gIiI7CisJ Y2hhcglzdWJkaXJkYnBhdGhbTUFYUEdQQVRIXTsKKwljaGFyCWRiZmlsZW5hbWVbTUFYUEdQQVRI XTsKKworCXNucHJpbnRmKHN1YmRpcmRicGF0aCwgTUFYUEdQQVRILCAiJXMvZGF0YWJhc2VzIiwg ZHVtcGRpcnBhdGgpOworCisJc3dpdGNoKGZvcm1hdCkKKwl7CisJCWNhc2UgYXJjaEN1c3RvbToK KwkJCWZpbGVfZXh0ZW4gPSAiLmRtcCI7CisJCQlicmVhazsKKwkJY2FzZSBhcmNoVGFyOgorCQkJ ZmlsZV9leHRlbiA9ICIudGFyIjsKKwkJCWJyZWFrOworCQljYXNlIGFyY2hEaXJlY3Rvcnk6CisJ CQlmaWxlX2V4dGVuID0gIiI7CisJCQlicmVhazsKKwkJY2FzZSBhcmNoVW5rbm93bjogLyogYmFz ZWQgb24gZmlsZSBleGlzdCwgdHJ5IHRvIGdldCBmaWxlIGV4dGVuc2lvbiBuYW1lLiAqLworCQkJ c25wcmludGYoZGJmaWxlbmFtZSwgTUFYUEdQQVRILCAiJXUiLCBkYm9pZCk7CisJCQlpZiAoZmls ZV9leGlzdHNfaW5fZGlyZWN0b3J5KHN1YmRpcmRicGF0aCwgZGJmaWxlbmFtZSkpCisJCQkJZmls ZV9leHRlbiA9ICIiOworCQkJZWxzZQorCQkJeworCQkJCXNucHJpbnRmKGRiZmlsZW5hbWUsIE1B WFBHUEFUSCwgIiV1LmRtcCIsIGRib2lkKTsKKwkJCQlpZiAoZmlsZV9leGlzdHNfaW5fZGlyZWN0 b3J5KHN1YmRpcmRicGF0aCwgZGJmaWxlbmFtZSkpCisJCQkJCWZpbGVfZXh0ZW4gPSAiLmRtcCI7 CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJc25wcmludGYoZGJmaWxlbmFtZSwgTUFYUEdQQVRILCAi JXUudGFyIiwgZGJvaWQpOworCQkJCQlpZiAoZmlsZV9leGlzdHNfaW5fZGlyZWN0b3J5KHN1YmRp cmRicGF0aCwgZGJmaWxlbmFtZSkpCisJCQkJCQlmaWxlX2V4dGVuID0gIi50YXIiOworCQkJCQll bHNlCisJCQkJCQlmaWxlX2V4dGVuID0gIiI7CisJCQkJfQorCQkJfQorCQkJYnJlYWs7CisJCWRl ZmF1bHQ6CisJCQlwZ19mYXRhbCgidW5yZWNvZ25pemVkIGZpbGUgZm9ybWF0IFwiJWRcIiIsIGZv cm1hdCk7CisJfQorCisJcmV0dXJuIGZpbGVfZXh0ZW47Cit9Ci0tIAoyLjM5LjMKCg== --0000000000007b6d0d0632d55d51--