Re: maintenance_work_mem + create index - Mailing list pgsql-performance

From Uwe Bartels
Subject Re: maintenance_work_mem + create index
Date
Msg-id AANLkTimAc=Qn=xkZxY7Uyq+0PC-jV-L0FaVjVavzSJXr@mail.gmail.com
Whole thread Raw
In response to Re: maintenance_work_mem + create index  (Shaun Thomas <sthomas@peak6.com>)
Responses Re: maintenance_work_mem + create index
List pgsql-performance
OK. sounds promising. On my machine this looks similar.
I'll try this.

Thanks,
Uwe


On 24 March 2011 16:14, Shaun Thomas <sthomas@peak6.com> wrote:
On 03/24/2011 09:40 AM, Uwe Bartels wrote:

Does anybody know of a solution out of that on Linux?
Or is there a dynamic way to put $PGDATA/base/pgsql_tmp into RAM without
blocking it completely like a ram disk?

We put this in our startup script just before starting the actual database:

for x in $(find ${PGDATA}/base -mindepth 1 -maxdepth 1 -type d); do
 nDBNum=${x##*/}
 sDir=${DBSHM}/${nDBNum}

 if [ ! -d "$sDir" ]; then
   su -c "mkdir $sDir" - $PGUSER
 fi
done

Where PGDATA, DBSHM, and PGUSER are all set in /etc/sysconfig/postgresql. But DBSHM defaults to /dev/shm/pgsql_tmp on our Linux box.

Basically what this does is ensures a directory exists for each of your databases in shared memory. Then all we did was symlink the pgsql_tmp folder to point to those shared-memory directories. Many systems default so that up to half of total RAM can be used this way, so we're not at any risk with 64GB on our main nodes.

We already run a custom init.d script anyway because we needed something LSB compatible for Pacemaker. I highly recommend it. :)

--
Shaun Thomas
OptionsHouse | 141 W. Jackson Blvd. | Suite 800 | Chicago IL, 60604
312-676-8870
sthomas@peak6.com

______________________________________________

See  http://www.peak6.com/email_disclaimer.php
for terms and conditions related to this email

pgsql-performance by date:

Previous
From: Shaun Thomas
Date:
Subject: Re: maintenance_work_mem + create index
Next
From: Shaun Thomas
Date:
Subject: Re: maintenance_work_mem + create index