Ron wrote:
At 01:58 PM 12/2/2005, Rick Schumeyer wrote:
I installed another drive in my linux pc in an attempt to improve
performance
on a large COPY to a table with a geometry index.
Based on previous discussion, it seems there are three things
competing for the hard drive:
1) the input data file
2) the pg table
3) the WAL
What is the best way to distribute these among two drives? From Tom's
comments
I would think that the pg table and the WAL should be separate. Does
it matter where the input data is?
Best is to have 3 HD or HD sets, one for each of the above.
With only 2, and assuming the input file is too large to fit completely
into RAM at once, I'd test to see whether:
a= input on one + pg table & WAL on the other, or
b= WAL on one + pg table & input file on the other
is best.
If the input file can be made 100% RAM resident, then use
c= pg table on one + WAL and input file on the other.
The big goal here is to minimize HD head seeks.
(noob question incoming)
Section 26.4 WAL Internals
http://www.postgresql.org/docs/8.1/interactive/wal-internals.html
This seems to be the applicable chapter. They talk about creating a
symlink for the data/pg_xlog folder to point at another disk set.
If I have (2) RAID1 sets with LVM2, can I instead create a logical
volume on the 2nd disk set and just mount data/pg_xlog to point at the
logical volume on the 2nd disk set?
For example, I have an LVM on my primary mirror called 'pgsql'. And
I've created a 2nd LVM on my secondary mirror called 'pgxlog'. These
are mounted as:
/dev/vgraida/pgsql on /var/lib/postgresql type ext3 (rw,noatime)
/dev/vgraidb/pgxlog on /var/lib/postgresql/data/pg_xlog type ext3
(rw,noatime)
From the application's P.O.V., it's the same thing, right? (It seems to
be working, I'm just trying to double-check that I'm not missing something.)