Archive for August, 2008

Mac PostgreSQL

August 4, 2008

It’s nice to see that PostgreSQL has a Mac installer now.

PostgreSQL adjusts the shared memory settings before the install. Fortunately they tell you what changed. I’m not sure what the side effects of increasing shared memory from default 4MB to 32MB is. Probably nothing. I renamed /etc/sysctl.conf to sysctl.conf.postgres and rebooted to undo these changes anyway.

I opted to adjust the postgres configuration instead.
(/Library/PostgreSQL/8.3/data/postgres.conf)

Changing max_connections from 100 to 5 and shared_buffers from 24MB to 128kB allows the database to start. This seems to work fine for my development database.

PostgreSQL needed to be added to the system path.

# ~/.bash_profile
PATH=$PATH:/Library/PostgreSQL/8.3/bin
export PATH

I installed PostgreSQL on a fresh install of Leopard. It turns out that you need the apple development tools installed before installing PostgreSQL or the command line tools don’t work.

dyld: Library not loaded: /Users/buildfarm/pginstaller/server/staging/osx/lib/libpq.5.dylib

This error can be fixed installing the development tools first and then reinstalling PostgreSQL. It looks like the installer uses otool to rewrite the path to the library.

The installer sets PostgreSQL to start automatically when the system boots. This is really annoying especially since I don’t know how to stop it. I can disable the startup item.

$ cd /Library/StartupItems/postgresql-8.3/
$ sudo touch .disabled

But this isn’t a good solution since the Start Server and Stop Server “applications” don’t work when the service is disabled. Grrrr. I’m guessing they’re using something like “sudo SystemStarter start postgresql-8.3″. Is there some way to set a StartupItem to manual?