This is going to be a short post. I am working on altering a script so that postgres will store it's log in /var/postgres/931 instead of /var/postgres/931/data. When you set up SMF so that postgres may be started as a service, the log directory does not allow full paths. Clearly the only solution to this was to usea symbolic link. Ok... so if I plan on using this script for future version of postgres how do I get the data dir path for postgres. That solution was fun to work on as it taught me more than I really wanted to know about sed (
stream
editor). The command is as follows:
root@mymachine:~# ps auxw | grep postgres | sed -r 's/.* (-D) (.*) ?(-i)/\2/' | head -n1
/var/postgres/84/data
There isn't much to this, just a regex that gets everything in between -D and -i after output from ps has been piped in showing the paths that postgres was started with.
Enjoy!
No comments:
Post a Comment