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 1vDs4C-000Hmd-IS for pgsql-admin@arkaria.postgresql.org; Tue, 28 Oct 2025 22:21:24 +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 1vDs4B-00FSsm-EP for pgsql-admin@arkaria.postgresql.org; Tue, 28 Oct 2025 22:21: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.94.2) (envelope-from ) id 1vDs4B-00FSsd-16 for pgsql-admin@lists.postgresql.org; Tue, 28 Oct 2025 22:21:22 +0000 Received: from mx0b-0039f802.pphosted.com ([205.220.176.45]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vDs46-004lzB-29 for pgsql-admin@lists.postgresql.org; Tue, 28 Oct 2025 22:21:20 +0000 Received: from pps.filterd (m0209982.ppops.net [127.0.0.1]) by mx0b-0039f802.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 59SJjtBg637729 for ; Tue, 28 Oct 2025 15:21:16 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dat.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=ppdk230404; bh=BDy3rrDKUEgCZv+B/P7uBCt 7iJkarv09tqqqq21IWhA=; b=Yr259Lj3s55gUgnpIQQTQNXPPETESf1+50AhqaM 1u/SuMgmAzMY8zb0UXg+gO9R2E9YOKy5HymVwxL2qDrqPXV8IJp7c/EWhmNuc/RM KDa5tBaingbKrvvIqKfkTnqOCbYocDxUId64i58feM6VbLoCaI10e5EXSfL9HX1w ze1C9YOZ/xUKs/Yb+vZiTyqZX7how03zC7pee6yJ/wCjSpFV357u5/CNZJA2OR0i HgOFCJeFKFfifDEgIjZc+RsrIz0NaEvNrOsZdO9VEG1Dktvoq72xA4Nb97h8Nu7w vO3K5dLbAY2vFgK5lbSsjvdkgRbhwiJu+a1hGs03AdaQXaA== Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by mx0b-0039f802.pphosted.com (PPS) with ESMTPS id 4a349c0a9h-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 28 Oct 2025 15:21:16 -0700 (PDT) Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-b6d7ad47b58so408471066b.1 for ; Tue, 28 Oct 2025 15:21:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761690074; x=1762294874; 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=BDy3rrDKUEgCZv+B/P7uBCt7iJkarv09tqqqq21IWhA=; b=VRkRu28YPbNBf5cP2+uT7nSZzRoy7KvNcz/KaRVySvVSRSRylP99xiebQePVBNVLNH 6skhHJRNuDI8X5rN+veN/x5EALoXj75qPpShj4scaLTpo4Tsq2VXq49bsvJwg8SkNUoR fs0kOXl8FKzURAlcV+sMH8FEfsjpnnQck5ocGUMj8HkT/pvseL2u0GxMWOGrND2uAhG3 GPrBZVjTRbNQZWZkguJjAwRzbaf+kp6rAh/vQpCzbfZHy4O8/JXw0QpeswKPGNlvYbX3 i1/w3YkG776KVZKbqFzI4XduK8PKZhAbUntI9o9PQhIrfIrr9CKlA67h75j38CBkmqvA 4Y2w== X-Gm-Message-State: AOJu0YxpmQ7h2ey9CFpKk0sIKg7Xj9PcZcy0JsVqKA5t4gFR6xGvW9w1 4VxmrieVL+Ty6j5txn78dRSZTCCLUDl9H9RrH7ozpBwqJOfOMo/6xcd2lWDCNAsYxxpwWH8a7Lu g9cSkH0HUVO+eCaTRvnMYReFHJzNytRWfBgS4eczfP/Pavfw+vhGiG2g6rhXPe22OLQCzVPc4U+ /2ongDRhg9uHdis/n/FaQzJm+g+7rZJdLVo/6vVQQVnQmeJ+NA20odWzNVvmbOgmrhKaz+S0Q= X-Gm-Gg: ASbGncv5wptKOd38QyrG2roz8C+C/umHttAU4GwEL0NO4yJxYnnIzFqPd/x5mXW1yJ0 z4vmQi6pcD+Yl/H/RgZ2oOYupDaxWiXmIVa+P6+qJTCvi0aHbM6Cwx585wz1zak/UVCmUCeAVW1 xftgzO7a5p0AiDMOWkbQjFGWQREtpg1hJ0Jj9zlLDTFVhvrgGoSePEIA== X-Received: by 2002:a17:906:9fcf:b0:b6d:7742:c20c with SMTP id a640c23a62f3a-b703d457200mr55466566b.36.1761690074186; Tue, 28 Oct 2025 15:21:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGm2YXdkvtWDkcumN5BEOnRBfod0QkbVo8Gfw1BIafbbmlncbW5UWZql0iQcoRZBVg2z1UJBZ/kbHRSz/c0Nzo= X-Received: by 2002:a17:906:9fcf:b0:b6d:7742:c20c with SMTP id a640c23a62f3a-b703d457200mr55465266b.36.1761690073791; Tue, 28 Oct 2025 15:21:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sam Stearns Date: Tue, 28 Oct 2025 15:21:01 -0700 X-Gm-Features: AWmQ_blpc-QctyADIrmgSJlS1JywoQDkRWH2pOPIe36m_cxKg1j8REiI9ON3m1E Message-ID: Subject: Re: pg_basebackup --incremental To: Ron Johnson Cc: Pgsql-admin Content-Type: multipart/alternative; boundary="0000000000000d8fce06423f6fa0" X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-28_08,2025-10-22_01,2025-03-28_01 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000d8fce06423f6fa0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks, Ron! We'll take another look at pgBackRest. On Tue, Oct 28, 2025 at 10:52=E2=80=AFAM Ron Johnson wrote: > On Tue, Oct 28, 2025 at 1: 43 PM Sam Stearns > wrote: Howdy, We're running version 17. 6. Would anyone be able to point = me > to, or provide, some sample use cases / scripts / usage to deploy a > pg_basebackup full + --incremental > ZjQcmQRYFpfptBannerStart > This Message Is From an External Sender > This message came from outside your organization. > > ZjQcmQRYFpfptBannerEnd > On Tue, Oct 28, 2025 at 1:43=E2=80=AFPM Sam Stearns = wrote: > >> Howdy, >> >> We're running version 17.6. Would anyone be able to point me to, or >> provide, some sample use cases / scripts / usage to deploy a pg_baseback= up >> full + --incremental strategy as a backup solution, please? >> > > The question confuses me a bit (though maybe because weekly "full", and > remainder "incremental" is pretty standard). PgBackRest really is quite > simple and easy to configure if you back up to a local mount point (even > when that mount point is NFS). > > This is in the "postgres" crontab: > 15 01 * * Sun Type=3Dfull; pgbackrest backup --stanza=3Dnfs --type=3D$Typ= e &> > logs/pgbackrest_$(date +"\%F_\%T")_${Type}.log > 15 01 * * 1-6 Type=3Dincr; pgbackrest backup --stanza=3Dnfs --type=3D$Typ= e &> > logs/pgbackrest_$(date +"\%F_\%T")_${Type}.log > > And this is my /etc/pgbackrest.conf: > [global] > repo1-path=3D/Database/backups/pgbackrest > repo1-cipher-type=3Daes-256-cbc > repo1-cipher-pass=3D > repo1-bundle=3Dy > repo1-bundle-limit=3D20MiB > repo1-bundle-size=3D200MiB > [nfs] > pg1-path=3D/Database/17/data > resume=3Dn > start-fast=3Dy > stop-auto=3Dy > compress-type=3Dzst > log-level-console=3Ddetail > log-level-file=3Dinfo > log-path=3D/var/lib/pgsql/logs/pgbackrest > retention-full=3D4 > process-max=3D > [nfs:archive-push] > compress-type=3Dzst > > -- > Death to , and butter sauce. > Don't boil me, I'm still alive. > lobster! > --=20 Samuel Stearns Team Lead - Database c: 971 762 6879 | o: 971 762 6879 | DAT.com --0000000000000d8fce06423f6fa0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, Ron!=C2=A0 We'll take another look at pgBackRe= st.


The question confuses me a bit (though maybe because weekly "fu= ll", and remainder "incremental" is pretty standard).=C2=A0 = PgBackRest really is quite simple and easy to configure if you back up to a= local mount point (even when that mount point is NFS).

This is in the "postgres" crontab:
15 01 * * Sun Type=3Dfull; pgbackrest backup --stanza=3Dnfs --ty= pe=3D$Type &> logs/pgbackrest_$(date +"\%F_\%T")_${Type}.l= og
15 01 * * 1-6 Type=3Dincr; pgbackrest backup --stanza=3Dnfs --type=3D= $Type &> logs/pgbackrest_$(date +"\%F_\%T")_${Type}.log

And this is my /etc/pgbackrest.conf:
[global]
repo1-path=3D/Database/backups/p= gbackrest
repo1-cipher-type=3Daes-256-cbc
repo1-cipher-pass=3D<red= acted>
repo1-bundle=3Dy
repo1-bundle-limit=3D20MiB
repo1-bundle= -size=3D200MiB
[nfs]
pg1-path=3D/Database/17/data
resume=3Dn
st= art-fast=3Dy
stop-auto=3Dy
compress-type=3Dzst
log-level-console= =3Ddetail
log-level-file=3Dinfo
log-path=3D/var/lib/pgsql/logs/pgback= rest
retention-full=3D4
process-max=3D<nproc * 3/4>
[nfs:arc= hive-push]
compress-type=3Dzst

--
Death to <Redacted>, and butter sauce.
Do= n't boil me, I'm still alive.
<Redacted> lobster= !


--

Samuel Stearns
Team Lead - Databas= e
c: 971 76= 2 6879 = | o: 97= 1 762 6879 | D= AT.com


--0000000000000d8fce06423f6fa0--