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 1uzGy0-001cHv-EU for pgsql-general@arkaria.postgresql.org; Thu, 18 Sep 2025 15:54:40 +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 1uzGxy-0002tw-PJ for pgsql-general@arkaria.postgresql.org; Thu, 18 Sep 2025 15:54:38 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uzGxx-0002tn-ND for pgsql-general@lists.postgresql.org; Thu, 18 Sep 2025 15:54:38 +0000 Received: from fhigh-a7-smtp.messagingengine.com ([103.168.172.158]) by makus.postgresql.org with smtp (Exim 4.96) (envelope-from ) id 1uzGxu-00178o-2g for pgsql-general@lists.postgresql.org; Thu, 18 Sep 2025 15:54:36 +0000 Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfhigh.phl.internal (Postfix) with ESMTP id 45F391400123; Thu, 18 Sep 2025 11:54:34 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Thu, 18 Sep 2025 11:54:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aklaver.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1758210874; x=1758297274; bh=nJhunC1aYyFPaukLGCIFF8RWeuQ1Dskp4a9DF+nP9CI=; b= paYJWbKmptPwKh/X1gBsBCwIaGDxMriMaZAMvhY9/9Bop9Hv3Gtha0rsYR5AwrnD 29z6cAz2v3X5Fk0HOxQB03eH3id2zarV79EjxwJz8eBdrGDOyFpPX4C4J+43jH/G LtFm0eWLC5iJDRtErvPNMtQyzdXNGwX4QAHccXOL2MXcyL3j+Fq7mBwCIrEFQHHr JKoP8oiOzwRKpSd956WK/6Ubin9k6hZPrQia5M5WhmfVnphgCkTA3DcNL7dpPnxP ghVc44xajIBXFzDneiQB58hYLgKXCsEcY0q1dERlGo7HtCVe6Gpq0BlW7jPyBYwa wpcn8kZT2+htdbHJ9y07XA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1758210874; x= 1758297274; bh=nJhunC1aYyFPaukLGCIFF8RWeuQ1Dskp4a9DF+nP9CI=; b=A aBTS5wsnTrmJThmiGU4RmI2fmhck3tyaaUH6dSIjLw6I/QEOEDjwcy348mfx00m/ 9gov/3pUDOuwxW61XXejZZIUvPed49WAtV6B96gUMxRN58aF/jSfq/Rr9rujZqnC gM16oqjo2o8DJdDCkpoz/WtA8nUh5aUgqRTvgQt0qsXCyT59LYrZIHTkAuFnO1NT jbMLtoz9L9nKwBQbS2/mvKqfj6wyF2kaME//p9EGxQxLjdVjYMEckSOC1gNvlAjo 2wEE4aLm3L47EybWvR0qjYXBVEB9NkLDP6v3TMKHXTBHi+8cCIS6tPKfQwxGE70a tvSHG1SQgXjS8ANeaRUOw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdegieejgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefkffggfgfuvfevfhfhjggtgfesthekredttddvjeenucfhrhhomheptegurhhirghn ucfmlhgrvhgvrhcuoegrughrihgrnhdrkhhlrghvvghrsegrkhhlrghvvghrrdgtohhmqe enucggtffrrghtthgvrhhnpeetveelhfdvhfdvjeejtddufedvieegkefhteelheduffdv geeigeevgfffhfeghfenucffohhmrghinhepphhoshhtghhrvghsqhhlrdhorhhgpdhgih hthhhusgdrtghomhdpgedtghhmgidrnhgvthenucevlhhushhtvghrufhiiigvpedtnecu rfgrrhgrmhepmhgrihhlfhhrohhmpegrughrihgrnhdrkhhlrghvvghrsegrkhhlrghvvg hrrdgtohhmpdhnsggprhgtphhtthhopeefpdhmohguvgepshhmthhpohhuthdprhgtphht thhopehrfigrhhihuhguihesghhmrghilhdrtghomhdprhgtphhtthhopehrohhnlhhjoh hhnhhsohhnjhhrsehgmhgrihhlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqghgvnhgv rhgrlheslhhishhtshdrphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: i76984098:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 18 Sep 2025 11:54:33 -0400 (EDT) Message-ID: Date: Thu, 18 Sep 2025 08:54:32 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: pg_restore scan To: R Wahyudi , Ron Johnson Cc: "pgsql-generallists.postgresql.org" References: Content-Language: en-US From: Adrian Klaver In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 9/18/25 05:58, R Wahyudi wrote: > Hi All, > > Thanks for the quick and accurate response!  I never been so happy > seeing IOwait on my system! Because? What did you find? > > I might be blind as  I can't find information about 'offset' in pg_dump > documentation. > Where can I find more info about this? It is not in the user documentation. From the thread Ron referred to, there is an explanation here: https://www.postgresql.org/message-id/366773.1756749256%40sss.pgh.pa.us I believe the actual code, for the -Fc format, is in pg_backup_custom.c here: https://github.com/postgres/postgres/blob/master/src/bin/pg_dump/pg_backup_custom.c#L723 Per comment at line 755: " If possible, re-write the TOC in order to update the data offset information. This is not essential, as pg_restore can cope in most cases without it; but it can make pg_restore significantly faster in some situations (especially parallel restore). We can skip this step if we're not dumping any data; there are no offsets to update in that case. " > > Regards, > Rianto > > On Wed, 17 Sept 2025 at 13:48, Ron Johnson > wrote: > > > PG 17 has integrated zstd compression, while --format=directory lets > you do multi-threaded dumps.  That's much faster than a single- > threaded pg_dump into a multi-threaded compression program. > > (If for _Reasons_ you require a single-file backup, then tar the > directory of compressed files using the --remove-files option.) > > On Tue, Sep 16, 2025 at 10:50 PM R Wahyudi > wrote: > > Sorry for not including the full command - yes , its piping to a > compression command : >  | lbzip2 -n --best > > > > I think we found the issue! I'll do further testing and see how > it goes ! > > > > > > On Wed, 17 Sept 2025 at 11:02, Ron Johnson > > wrote: > > So, piping or redirecting to a file?  If so, then that's the > problem. > > pg_dump directly to a file puts file offsets in the TOC. > > This how I do custom dumps: > cd $BackupDir > pg_dump -Fc --compress=zstd:long -v -d${db} -f ${db}.dump >  2> ${db}.log > > On Tue, Sep 16, 2025 at 8:54 PM R Wahyudi > > wrote: > > pg_dump was done using the following command : > pg_dump -Fc -Z 0 -h -U -w -d > > On Wed, 17 Sept 2025 at 08:36, Adrian Klaver > > wrote: > > On 9/16/25 15:25, R Wahyudi wrote: > > > > I'm trying to troubleshoot the slowness issue > with pg_restore and > > stumbled across a recent post about pg_restore > scanning the whole file : > > > >  > "scanning happens in a very inefficient way, > with many seek calls and > > small block reads. Try strace to see them. This > initial phase can take > > hours in a huge dump file, before even starting > any actual restoration." > > see : https://www.postgresql.org/message-id/ > E48B611D-7D61-4575-A820- www.postgresql.org/message-id/E48B611D-7D61-4575-A820-> > > B2C3EC2E0551%40gmx.net > www.postgresql.org/message-id/> > > E48B611D-7D61-4575-A820-B2C3EC2E0551%40gmx.net > > > > This was for pg_dump output that was streamed to a > Borg archive and as > result had no object offsets in the TOC. > > How are you doing your pg_dump? > > > > -- > Adrian Klaver > adrian.klaver@aklaver.com > > > > > -- > Death to , and butter sauce. > Don't boil me, I'm still alive. > lobster! > > > > -- > Death to , and butter sauce. > Don't boil me, I'm still alive. > lobster! > -- Adrian Klaver adrian.klaver@aklaver.com