I'm fairly sure it will work.
But remember also that you don't even need to use the symbolic link. The PostgreSQL daemon allows you to specify data directory and logging directory upon startup.
For example, on my workstation, my startup script for PostgreSQL is:
Code:
su -l postgres -c "/usr/local/pgsql/bin/pg_ctl start -i -D /usr/local/pgsql/data -s -l /usr/local/pgsql/data/serverlog"
Explanation:
1. su to user postgres, which is the main owner of the PostgreSQL process.
2. Execute the pg_ctl startup script
3. Use the -i switch to allow remote network connections
4. Use the -D switch to indicate data directory /usr/local/pgsql/data
5. Use the -l switch to indicate the logging directory /usr/local/pgsql/data/serverlog
This means you can easily move your data and logging directories anywhere you want, as long as you give them the right user and permissions. One good thing to do is split your logging onto a completely different physical disk from your data directory. This reduces throughput on one disk, and provides a certain amount of redundancy. This will be especially useful in PostgreSQL 7.4 because you can log to a different disk and use Point-in-Time-Recovery to rebuild your data from the log.
Check out the pg_ctl manpages for more detail.