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 1w6ctD-004UAw-1F for pgsql-hackers@arkaria.postgresql.org; Sat, 28 Mar 2026 23:16:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w6ctB-00FQTk-31 for pgsql-hackers@arkaria.postgresql.org; Sat, 28 Mar 2026 23:16:22 +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 1w6ctB-00FQTc-1o for pgsql-hackers@lists.postgresql.org; Sat, 28 Mar 2026 23:16:22 +0000 Received: from mail-dy1-x1331.google.com ([2607:f8b0:4864:20::1331]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w6ct9-00000001j9B-0B8X for pgsql-hackers@lists.postgresql.org; Sat, 28 Mar 2026 23:16:21 +0000 Received: by mail-dy1-x1331.google.com with SMTP id 5a478bee46e88-2c16286c496so58290eec.0 for ; Sat, 28 Mar 2026 16:16:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774739777; cv=none; d=google.com; s=arc-20240605; b=AfeydTodo6JMq5z0Br9TF+95I5kXPqE1x/251e4kCl9B3WpysAe8+Ajq1fu8PGHbz/ zZFGWjLvzwDkpWuE5IqCnJP72u/y0IAZpErGGenxAtd1o58W2B84cJbOXsIPMCPGCXIt qLiSztx9IQsaDTCBK4b2wGU/EiVtFHDrLDGCd9zHeFr+dNOk6mesNHts9bBMANEOqdDx X6ksNicyxAtpSJc0YgisUMI1HnZ0CXPrctxuCDmYGUfZZA2mL5w2yOEXuekr5x1H3kfp ohau4uVUDI+h5mKUBZhk4mv5fSoIfFTqKIizGnoMFy6QmmDJbRWpAJg4X+LYt9a2kDAM DB+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Szdf+gxgq8RwIa6Zb2/pTSfJjVIT0IKsOxcdNZKoI2E=; fh=a3waGILY2YOs+myanqn5GWc9jU30btTbPK0a7r3yRmk=; b=E1Uy9rfzzr50GhQo7Tf81ovn2gUZu1nJzSuUpXCpmlJmXuKOZxS+XbdiIGiz9C4tM6 r3sRU95Mgh2Tay3xz5Tb/iVcMu5cWfJOktCjDFloPrPAI894Hvy1f5Rvp2/SjpZHJXhI iQ15q/4GklRLgGWWFfe3mzcgGLrMHnzuK9UYs2WuLvRlm/9+f97l7HAD/oyOZiT8HZxn NUJZyn1yNiqGGqmxYEdmLUFBooQKNBhv7x+oViN0YPdt2aAvk4heJciq/S7zEOJ+wkKe VUG4Wl1u1vQg97F5z82STS4FW0CYqzKxJfbFiI6dOBqYJXtOAPy0h0t1i7VMxOAKPDi7 XrZQ==; 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=20251104; t=1774739777; x=1775344577; 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=Szdf+gxgq8RwIa6Zb2/pTSfJjVIT0IKsOxcdNZKoI2E=; b=oTtqargI5tPJzJNsLTV0WqKi05hP/x3lYQKzVbO2gnt5Uzh3120P5aVjDvCeANvIzN yTApqpAgLHIu+4iKcgcNhbCAsrmLlzkAH2ll07FL1Z160nMNWzuN4lzN2f4o1Qfsb6Zk i4A5JTjM5xHowhBVocwWcP6elR3lp+wjLdJlW2+pb2ZNZJdUg8IHFD0yUcW7/Z2gQXr9 NDfNjKQSWOzoSju6vCd22h+wolbDnVdj9qhaYLvnYtqeTfaMKygjA9IZ+RkzgfJ0+MiO 8YZ7psJe1uiwAs9xrHKRSs4JbvhBThvak8x7afm/X76nETTQyuVlK/GGvTBIdD8hBGOW U62g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774739777; x=1775344577; h=cc: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=Szdf+gxgq8RwIa6Zb2/pTSfJjVIT0IKsOxcdNZKoI2E=; b=b8ZHRKagUTJJ5UtFMB1qwq85As+QUBY2HccKMyoq43dkEuACQs3D6nX8ShqX6r3/Fg F9XyPrhKdTBmE7jKVAo11Ut0DYgvTGKdr0aPPeHDbsRVp78FAEhz0iWxOfX6FS2leMV7 rdn3MPbQPj1HJCCfw77a4DViexm3mwF/8+k2TI3Q6CMHvkh4QmGoLxSFRH1MCgdYqGeA HapL8fhedBeV1Z3tRh4NkJgIhTZ+i+fIRM/3zjN3pGq/QNFafCvaah4oNOxKy3jeClzd e0pfoF0VB7SoxDlyWD0t7Hich46+KIXxEPrSm3hOO5umFS+k+sJf8gqliqKrNbPJniiE G3mQ== X-Forwarded-Encrypted: i=1; AJvYcCWI+eMSKjTRgb0a4hpE6EVNHUwbtf1Sp6RyyQG6Acio9BrfQWYa0vjrHg4vDJkKYW/3ZLnavhhQroctoN6i@lists.postgresql.org X-Gm-Message-State: AOJu0Yy6G4gCUosSDBd29YF8Le6cyJkKKQGms69nZClGXHxWgFKCeEdi l8AA0Sm03eteIT0/poNJIZpOgcOXCjRgOdUy+l5wk4k9OXi4eZ587X3QG68AyPDpr9Wt1uRFBpL /MC4TP4BtNDNQHOWqYZHt2/emO2PPa+o= X-Gm-Gg: ATEYQzzZpUVNRfJP1BJFD9Ma+qUz1owAPXEBppjxdu17V2MDSVDf/fvxttgHFjQ7fms Q0hSCGp42+X566g2ywA5MgRqvPidbc+sKBHyI6julhoIneRJ4Y4gEAhxRc6KwzH1zIzTEX3vDyD Mvsi5Uk7HJZ9JBEXb1h4x4Aiff+TH//lq60y3OxU0mgEvn9t+nUxnqoYmVIW55Cc57XI6hMbeXl Mvddjz90+fzAVr1VOktjSq3+hEctzc1rNbM/ecCJpECom3PO/FcvNHhXIZt45npRSmTXykzixyJ YUhwg2B7qs0yhLbjl1rKGqHIlst5T433AK+6RQoO7467TIetZtgihKyZ8IbGx9DI X-Received: by 2002:a05:693c:3106:b0:2be:e92:7f44 with SMTP id 5a478bee46e88-2c185f383ccmr1983016eec.8.1774739777183; Sat, 28 Mar 2026 16:16:17 -0700 (PDT) MIME-Version: 1.0 References: <2250061.1774104346@sss.pgh.pa.us> <2555285.1774131847@sss.pgh.pa.us> <2609460.1774153487@sss.pgh.pa.us> <2790913.1774200584@sss.pgh.pa.us> <2880042.1774203473@sss.pgh!!.pa.us> <3341199.1774221191@sss.pgh.pa.us> <3424809.1774234940@sss.pgh.pa.us> <1624716.1774736283@sss.pgh.pa.us> <1626907.1774737417@sss.pgh.pa.us> In-Reply-To: <1626907.1774737417@sss.pgh.pa.us> From: Thomas Munro Date: Sun, 29 Mar 2026 12:15:39 +1300 X-Gm-Features: AQROBzB2oLqPdjvSOo0CXgFRyDV7RVY-Zzi4NqWGUosHUx6f5tPS-BUtOB_nwbc Message-ID: Subject: Re: pg_waldump: support decoding of WAL inside tarfile To: Tom Lane Cc: Tomas Vondra , Andres Freund , Michael Paquier , Andrew Dunstan , Amul Sul , Zsolt Parragi , Robert Haas , Chao Li , Anthonin Bonnefoy , Fujii Masao , Jakub Wartak , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000fd5c81064e1dcdd7" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000fd5c81064e1dcdd7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Mar 29, 2026 at 11:37=E2=80=AFAM Tom Lane wrote= : > I wrote: > > However ... I do not find any indication in the GNU tar docs > > that it produces sparse files by default. It looks like you > > need to say -S/--sparse to make that happen. Maybe you have > > a version that's been hacked to make that the default? > > Bleah. Digging in the man pages at freebsd.org, I read > > --read-sparse > (c, r, u modes only) Read sparse file information from = disk. > This is the reverse of --no-read-sparse and the default b= ehav- > ior. > > It's apparently been there and been default since FreeBSD 13.1. > This leads one to wonder how come BF member dikkop is managing > to run this test successfully. I speculate that it's using a > filesystem type that doesn't do sparse files (cc'ing Vondra > for confirmation on that). > > It looks like to make this test stable on modern FreeBSD, > we need to see if tar accepts --no-read-sparse and use that > switch if so. Yeah. Here's my attempt at perl. I think your Mac probably has a similar tar program BTW... but apfs probably doesn't go around making holes visible to lseek() automatically or at least as eagerly as my ZFS system. --000000000000fd5c81064e1dcdd7 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-pg_waldump-test-for-libarchive-tar.patch" Content-Disposition: attachment; filename="0001-Fix-pg_waldump-test-for-libarchive-tar.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnaxxp7j0 RnJvbSBiMWE5MTMxZDA3MmRhZGZlOWM1NjY2ZTc1YTkzMmJhNzBiOGQyZjk5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IFN1biwgMjkgTWFyIDIwMjYgMTI6MDM6NDIgKzEzMDAKU3ViamVjdDogW1BBVENIXSBG aXggcGdfd2FsZHVtcCB0ZXN0IGZvciBsaWJhcmNoaXZlIHRhci4KCmxpYmFyY2hpdmUgdGFyICh0 aGUgb25lIHNoaXBwZWQgb24gbWFjT1MsICpCU0Qgc3lzdGVtcykgbWlnaHQgZGVjaWRlIHRvCmFy Y2hpdmUgbm9uLXN0YW5kYXJkIHNwYXJzZSBlbmNvZGluZyB3aXRoIEdOVSBleHRlbnNpb25zICh1 bmxpa2UgR05VIHRhcgppdHNlbGYpIGJ5IGRlZmF1bHQuICBwZ193YWxkdW1wIGNhbid0IHJlYWQg dGhlbS4gIFN1cHByZXNzIHRoYXQsIGlmICRUQVIKdW5kZXJzdGFuZHMgLS1uby1zcGFyc2UtZmls ZXMuCgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tLzE2MjQ3MTYuMTc3NDczNjI4MyU0 MHNzcy5wZ2gucGEudXMKLS0tCiBzcmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwgfCAx MSArKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwgYi9z cmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwKaW5kZXggOGJiOGZhMjI1ZjYuLmQ5MTEy OTZiYjY2IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwKKysr IGIvc3JjL2Jpbi9wZ193YWxkdW1wL3QvMDAxX2Jhc2ljLnBsCkBAIC0xMSw2ICsxMSwxNCBAQCB1 c2UgVGVzdDo6TW9yZTsKIHVzZSBMaXN0OjpVdGlsIHF3KHNodWZmbGUpOwogCiBteSAkdGFyID0g JEVOVntUQVJ9OworbXkgQFRBUl9DX0ZMQUdTOworCisjIGxpYmFyY2hpdmUgdGFyIChhcyBmb3Vu ZCBvbiAqQlNEIGFuZCBtYWNPUykgbWlnaHQgY3JlYXRlIHNwYXJzZSBmaWxlcyBieQorIyBkZWZh dWx0LCBhbmQgd2UgY2FuJ3QgcmVhZCB0aGVtCitpZiAoc3lzdGVtKCIkdGFyIC0tbm8tcmVhZC1z cGFyc2UgLWMgLSAvZGV2L251bGwgPiAvZGV2L251bGwiKSA9PSAwKQoreworICBwdXNoKEBUQVJf Q19GTEFHUywgIi0tbm8tcmVhZC1zcGFyc2UiKTsKK30KIAogcHJvZ3JhbV9oZWxwX29rKCdwZ193 YWxkdW1wJyk7CiBwcm9ncmFtX3ZlcnNpb25fb2soJ3BnX3dhbGR1bXAnKTsKQEAgLTMzMSw3ICsz MzksNiBAQCBzdWIgdGVzdF9wZ193YWxkdW1wCiBzdWIgZ2VuZXJhdGVfYXJjaGl2ZQogewogCW15 ICgkYXJjaGl2ZSwgJGRpcmVjdG9yeSwgJGNvbXByZXNzaW9uX2ZsYWdzKSA9IEBfOwotCiAJbXkg QGZpbGVzOwogCW9wZW5kaXIgbXkgJGRoLCAkZGlyZWN0b3J5IG9yIGRpZSAib3BlbmRpcjogJCEi OwogCXdoaWxlIChteSAkZW50cnkgPSByZWFkZGlyICRkaCkgewpAQCAtMzQ2LDcgKzM1Myw3IEBA IHN1YiBnZW5lcmF0ZV9hcmNoaXZlCiAJIyBtb3ZlIGludG8gdGhlIFdBTCBkaXJlY3RvcnkgYmVm b3JlIGFyY2hpdmluZyBmaWxlcwogCW15ICRjd2QgPSBnZXRjd2Q7CiAJY2hkaXIoJGRpcmVjdG9y eSkgfHwgZGllICJjaGRpcjogJCEiOwotCWNvbW1hbmRfb2soWyR0YXIsICRjb21wcmVzc2lvbl9m bGFncywgJGFyY2hpdmUsIEBmaWxlc10pOworCWNvbW1hbmRfb2soWyR0YXIsIEBUQVJfQ19GTEFH UywgJGNvbXByZXNzaW9uX2ZsYWdzLCAkYXJjaGl2ZSwgQGZpbGVzXSk7CiAJY2hkaXIoJGN3ZCkg fHwgZGllICJjaGRpcjogJCEiOwogfQogCi0tIAoyLjUyLjAKCg== --000000000000fd5c81064e1dcdd7--