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 1vEAsr-006gkM-8B for pgsql-admin@arkaria.postgresql.org; Wed, 29 Oct 2025 18:26:56 +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 1vEAso-002q1k-Sv for pgsql-admin@arkaria.postgresql.org; Wed, 29 Oct 2025 18:26:53 +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 1vEAso-002q1b-Ds for pgsql-admin@lists.postgresql.org; Wed, 29 Oct 2025 18:26:53 +0000 Received: from mx0a-0039f802.pphosted.com ([205.220.164.45]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vEAsj-004vhW-1o for pgsql-admin@lists.postgresql.org; Wed, 29 Oct 2025 18:26:52 +0000 Received: from pps.filterd (m0209981.ppops.net [127.0.0.1]) by mx0b-0039f802.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 59TGH3i91138184 for ; Wed, 29 Oct 2025 11:26:45 -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=e0uC/HiHimoK7LzcLecMqMD u74I4jx61RwcVDzVFYtQ=; b=iDgOhLP+mW/D/fFTItCkQbnkLlG8CSW88ZI59su t3vnCeTf/FmemgN42bKX6BivYkTT4pXSGlcoE8exrSFVhiaS48bC7oZDFLD+D8z4 31pCfUY6W/tDLw8DMSA30/+y03Pl3oazL9RufLF0c/9PcK5ojBYrHO/U3MA/eWm3 Ad8J2gxHxqcUeB+ZcN9FOe3LquFoOudhMfFO05KErlPZ9AEXF6k93iExgE172Tsb Wj/JUpm4FQtPXaJ7TIKb7ucuZ2zD0xk3GlcOvDIA29BN/q89LgH438ZOUauIj2oq 9wF+ZrJuVt9Ur3ZK5CtmwhzX+DdzM6nNlB7f9BzydPsNBeg== Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by mx0b-0039f802.pphosted.com (PPS) with ESMTPS id 4a349g1sgv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 29 Oct 2025 11:26:45 -0700 (PDT) Received: by mail-ed1-f69.google.com with SMTP id 4fb4d7f45d1cf-6404a5895f9so84487a12.3 for ; Wed, 29 Oct 2025 11:26:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761762403; x=1762367203; 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=e0uC/HiHimoK7LzcLecMqMDu74I4jx61RwcVDzVFYtQ=; b=f/fdHCa1R10DgAKH8yG++ItQA9JVIf3/8enXxjc1va4K05FyI6TJwfpKKvQV2sNWnL yksv7kRpa8Du+drFIKRFCVFm+NcJfhtv8uOqbNIoWumI6K4rsghZgvwIwN3Wotj+VKdQ O05y2Do6joV4lrmylwFR+WhrlVYNvwTNGNst2XEOIaEhppyCgQHoxnfGbBI4pImmZM1p WHAALKhk7FomfZkj3gnegLCehXkcnIz0JieoRjsBYgSCf8CPsfu3Tw8GCQwR92x46Pmr K5KfZ5yU3P0kgXZxoANmpW96QLK7fIuegEqxma6H8kCuHnTAA+MaHihi3OycfRtRBUnP teTA== X-Gm-Message-State: AOJu0Yz33VM1BTTSzpELimELz1s9MdX1Dxq6dtiAaiGsMv1mA3V1ZcpQ P1hQV7HH8q4oqlCZCBNzNaUnuGd/wvt3RUPM43NJAsYSuJ70ZthZMnvz9AtRHIdUJ56zMrKP48R eSikKhElbCX/uOoaLoDSNsm42Kx53KlQvLfOdmj8VtD9c72CkCLvso5RelyoOfur2o6ZF0Hr6d9 tJU0A/IZ5vzGV1hXTxrhumVQJqyTF2+Z75FKJgTyQNR38XAl9jyrrvmGPiVXbuG68x0SfuEw8UK MjpmTYRvw== X-Gm-Gg: ASbGncvh2pi+8rfFpmbj61YaH8Lc09kxswkcQj9P0ytcGMcwyNO1tffvFpYHyTz5XDX cYHDKlvWwx16IarE4v55jx5ZgffTEGXCYkAPDgyNPuUo12KSAKYwR/rvhifnM4qUbbhwstt5Il7 2Lba0B9X4Ps1IAANDfU3DQtiC9PaAc7aGGUl5BaPkIAZ+7Fq8xtHUiyg== X-Received: by 2002:a05:6402:35c9:b0:63e:d75:bec4 with SMTP id 4fb4d7f45d1cf-64044279df9mr2719436a12.30.1761762403404; Wed, 29 Oct 2025 11:26:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE56788Aep5jHKz8f5nh0W5hiF290cvbJWeYTOfYyYNmrceXpogq5ydjyszS7gD56dExrKNSYN4UCghtjT7+w8= X-Received: by 2002:a05:6402:35c9:b0:63e:d75:bec4 with SMTP id 4fb4d7f45d1cf-64044279df9mr2719421a12.30.1761762402887; Wed, 29 Oct 2025 11:26:42 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sam Stearns Date: Wed, 29 Oct 2025 11:26:30 -0700 X-Gm-Features: AWmQ_bl4ykZyk7af_HxcWSdLOUxzxHHexgNVCleclRhIuXEdbkWmUPuxCy0IoKo Message-ID: Subject: Re: pg_basebackup --incremental To: Ron Johnson Cc: Pgsql-admin Content-Type: multipart/alternative; boundary="00000000000033fae5064250466e" X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-10-29_07,2025-10-29_03,2025-10-01_01 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000033fae5064250466e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Awesome. Thank you, Ron. We have our archive_command set to push WAL's to standby as such: archive_command =3D 'test ! -f /postgres_wal_archive/rtsstage/%f && rsync -= a %p /postgres_wal_archive/rtsstage/%f && rsync -a %p postgres@10.36.160.48: /postgres_wal_archive/rtsstage/%f' How does incorporating pgbackrest affect that setup? On Wed, Oct 29, 2025 at 10:53=E2=80=AFAM Ron Johnson wrote: > I'm certain this is all in the User Guide: $ grep -rh archive > $PGDATA/postgresql. conf* archive_mode =3D on #archive_command =3D '/bin/= true' > archive_command =3D 'pgbackrest --stanza=3Dnfs archive-push %p' Since cha= nging > archive_mode > ZjQcmQRYFpfptBannerStart > This Message Is From an External Sender > This message came from outside your organization. > > ZjQcmQRYFpfptBannerEnd > I'm certain this is all in the User Guide: > $ grep -rh archive $PGDATA/postgresql.conf* > archive_mode =3D on > #archive_command =3D '/bin/true' > archive_command =3D 'pgbackrest --stanza=3Dnfs archive-push %p' > > Since changing archive_mode requires a restart, but > changing archive_command just requires a reload, it's useful to have both > of those archive_command lines in your config. Always keep "archive_mode= =3D > on" but disable it by setting archive_command to /bin/true (which will be= a > rare occurrence). > > On Wed, Oct 29, 2025 at 1:40=E2=80=AFPM Sam Stearns = wrote: > >> Hi Ron, >> >> If I may, please. What are the postgres.conf parameters you set >> specifically for pgBackRest? >> >> Thanks, >> >> Sam >> >> On Tue, Oct 28, 2025 at 3:21=E2=80=AFPM Sam Stearns wrote: >> >>> 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 poi= nt 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_baseb= ackup >>>>> full + --incremental strategy as a backup solution, please? >>>>> >>>> >>>> The question confuses me a bit (though maybe because weekly "full", an= d >>>> remainder "incremental" is pretty standard). PgBackRest really is qui= te >>>> simple and easy to configure if you back up to a local mount point (ev= en >>>> when that mount point is NFS). >>>> >>>> This is in the "postgres" crontab: >>>> 15 01 * * Sun Type=3Dfull; pgbackrest backup --stanza=3Dnfs --type=3D$= Type &> >>>> logs/pgbackrest_$(date +"\%F_\%T")_${Type}.log >>>> 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/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! >>>> >>> >>> >>> -- >>> >>> Samuel Stearns >>> Team Lead - Database >>> c: 971 762 6879 | o: 971 762 6879 | DAT.com >>> >>> >>> >>> >>> >> >> -- >> >> Samuel Stearns >> Team Lead - Database >> c: 971 762 6879 | o: 971 762 6879 | DAT.com >> >> >> >> >> > > -- > 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 --00000000000033fae5064250466e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Awesome.=C2=A0 Thank you, Ron.

We have = our archive_command set to push WAL's to standby as such:
archive_command =3D 'test ! -f /postgres_wal_archive/rtssta= ge/%f && rsync -a %p /postgres_wal_archive/rtsstage/%f && r= sync -a %p postgres@10.36.160.48:/postgres_wal_archive/rtsstage/%f'

How does incorporating pgbackrest affect that setup?<= /div>

On Wed, Oct 29, 2025 at 10:53=E2=80=AFAM Ron Joh= nson <ronljohnsonjr@gmail.com= > wrote:
=
I'm certain this is all in the User Guide: $ grep -rh archive $PGDATA/p= ostgresql.=E2=80=8Aconf* archive_mode =3D on #archive_command =3D '/bin= /true' archive_command =3D 'pgbackrest --stanza=3Dnfs archive-push = %p' Since changing archive_mode
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
=C2=A0
ZjQcmQRYFpfptBannerEnd
I'm certain this is all in the User Guide:
<= div>$ grep -rh archive $PGDATA/postgresql.conf*archive_mode =3D on
#archive_command =3D '/bin/true'
archive= _command =3D 'pgbackrest --stanza=3Dnfs archive-push %p'
=
Since changing archive_mode requires a restart, but changing= =C2=A0archive_command just requires a reload, it's useful to have both = of those archive_command lines in your config.=C2=A0 Always keep "arch= ive_mode =3D on" but disable it by setting archive_command to=C2=A0/bi= n/true (which will be a rare=C2=A0occurrence).

On Wed, Oct 29, 2025 at 1:40=E2=80=AFPM Sam Stearns &l= t;sam.stearns@dat.= com> wrote:
Hi Ron,

If I = may, please.=C2=A0 What are the postgres.conf parameters you set specifical= ly for pgBackRest?

Thanks,

Sam

On Tue, Oct 28, 2025 at 3:21=E2=80=AFPM Sam Stearns <sam.stearns@dat.com&g= t; wrote:
Thanks, Ron!=C2=A0 We'll take another look at pgBackRest.
On = Tue, Oct 28, 2025 at 10:52=E2=80=AFAM Ron Johnson <ronljohnsonjr@gmail.com> wro= te:
On Tue, Oct 28, 2025 at 1:=E2=80=8A43 PM Sam Stearns <sam.=E2=80=8Astear= ns@=E2=80=8Adat.=E2=80=8Acom> wrote: Howdy, We're running version 17= .=E2=80=8A6. Would anyone be able to point me to, or provide, some sample u= se 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.
=C2=A0
ZjQcmQRYFpfptBannerEnd
On Tue, Oct 28, 2025 at 1:43=E2=80=AFPM S= am Stearns <sam= .stearns@dat.com> wrote:
Howdy,

We're running version=C2=A017.6.=C2=A0 Would=C2=A0any= one be able to point me to, or provide, some sample use cases / scripts / u= sage to deploy a pg_basebackup full=C2=A0+ --incremental strategy as a back= up solution, please?

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




--

Samuel Stearns
Team Lead - Database
= c: 971 762 687= 9 | o: 971 762= 6879 |= DAT.co= m

=




--
Death to <Redacted>, and butter sauce.Don't boil me, I'm still alive.
<Redacted> lobs= ter!


--

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


--00000000000033fae5064250466e--