Re: Postgresql Database and PG_WAL locations - Mailing list pgsql-admin

From Ron Johnson
Subject Re: Postgresql Database and PG_WAL locations
Date
Msg-id CANzqJaCy8W2m3SunnzXn2tRf-K34=-QFFzRkBdci+-S=9O2smg@mail.gmail.com
Whole thread Raw
In response to Re: Postgresql Database and PG_WAL locations  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: Postgresql Database and PG_WAL locations
List pgsql-admin
On Mon, Sep 2, 2024 at 6:30 AM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Thu, 2024-08-29 at 15:02 -0400, Ron Johnson wrote:
> On Thu, Aug 29, 2024 at 2:22 PM Matthew Tice <mjtice@gmail.com> wrote:
> > > On Aug 29, 2024, at 12:18 PM, Henry Ashu <henry.ashu@dat.com> wrote:
> > >
> > > I have a database that's about 2TB in size, and I want to place the database
> > > files in a separate mount point(PGDATA) and the log files in a different mount
> > > point(PG_WAL). What's your take on this?.
> >
> >
> > Take a look at https://wiki.postgresql.org/wiki/Installation_and_Administration_Best_practices
> >
> > Essentially, yes, you will want your WAL and data stored on different devices
> > (or the very least, different partitions).
>
> Is that recommendation still valid?  After all, that was written when 15 years old
> Sun Studio 12 was still pertinent.  Times have changed since then.  Disks are much, much bigger.

I think the advice is still valid.

Today you'd have different filesystems on different logical volumes rather
than different physical disks,

None of our disks are physical; they're all SAN LUNs.
 
but it is still a good idea to separate data and WAL,
so that they cannot fill up each other's file system.

Regular checkpoints, transactions(*) that don't stay open for hours or days, and monitoring replication to ensure that it keeps replicating data instead of piling up on the primary server all solve that problem
 
Honestly... it's been YEARS since I've seen that problem.

Besides, "disks are cheap", right?

*COPY statements don't count.

I'd actually define a third file system for the PostgreSQL log files, for
the same reason.

I set log_directory to /var/log/postgresql because logs go in /var/log.  😀  (pg_basebackup won't replicate it, which is also handy.) On a separate partition so as to isolate PG data from other application and OS data (and lets me manage capacity via a script).

Ditto the PgBackrest directory: isolate PG data from other application and OS data.

We'd have to put them on separate mount points anyway, since the VM build process doesn't like large / and /boot disks.

--
Death to America, and butter sauce.
Iraq lobster!

pgsql-admin by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: Postgresql Database and PG_WAL locations
Next
From: Laurenz Albe
Date:
Subject: Re: Postgresql Database and PG_WAL locations