Thread: separate WAL

separate WAL

From
jose fuenmayor
Date:
How can I install pg_xlog (WAL) in another partition, i mean separate the data directory from WAL, i have a single scsi disk with four partitions
/, /boot, /data(data for postgresql), /WAL(pg_xlog), i ve heard that by doing this occurs a boost in postgreSQL performance, thanks in advance anyone that helps me.

Re: separate WAL

From
Scott Marlowe
Date:
On Mon, 2005-12-12 at 10:08, jose fuenmayor wrote:
> How can I install pg_xlog (WAL) in another partition, i mean separate
> the data directory from WAL, i have a single scsi disk with four
> partitions
> /, /boot, /data(data for postgresql), /WAL(pg_xlog), i ve heard that
> by doing this occurs a boost in postgreSQL performance, thanks in
> advance anyone that helps me.

The basic process is this:

initdb your database (I assume you've already done that.)
shut down the database
as the pg user, cd to $PGDATA
cp -Rfp pg_xlog /some/other/vol/pg_xlog/
mv pg_xlog pg_xlog_old
ln -s /some/other/vol/pg_xlog pg_xlog
restart database.

Note that you want the other directory set to the proper permissions
(0700) and ownership (your pg user).

Re: separate WAL

From
Tom Lane
Date:
jose fuenmayor <jafn82@gmail.com> writes:
> How can I install pg_xlog (WAL) in another partition, i mean separate the
> data directory from WAL, i have a single scsi disk with four partitions
> /, /boot, /data(data for postgresql), /WAL(pg_xlog), i ve heard that by
> doing this occurs a boost in postgreSQL performance, thanks in advance
> anyone that helps me.

If there's only one physical disk spindle, there is no performance value
in spreading PG across multiple partitions on that disk --- in fact that
will likely be a net loss, because it'll force larger seek distances
between the different files the database has to access.

The common recommendation is to put WAL on a separate *physical disk*.
If you don't have multiple disks there's no advantage to be gained.

(I have seen people put WAL on a separate logical partition anyway,
because it insulates the WAL from possible out-of-disk-space conditions
in the other partitions, which is a good thing because out-of-space
is a PANIC condition for WAL but not for the main DB.  But if you're
doing it because you think you'll gain performance you are misguided.)

            regards, tom lane