On Mon, 5 Jan 2004, Gregory Stone wrote: > I have a need to run postgres only when my Java application is running. > Basically I want to do a Runtime.exec() from java in order to start up the > DB server. Is there any reason why this should present a problem? My > init.d script is su-ing to the pguser before launching pg_ctl with all the > various params. Can I just emulate this, but not su to the pguser account > but use the exisitng user logon? Also, besides standard unix safety rules > about limited access accounts and all, is there any reason I HAVE to be > the pguser to start up postgres?
No need to be the pguser user at all. Any user of the system can run a postgres cluster. Note, that is a postgres cluster, i.e. if you're trying to start postgres to look at databases in a cluster that was built by a different user then it isn't going to work. So in summary, what you want to do is something like: initdb -D /home/myuser/data blah blah blah pg_ctl -D /home/myuser/data blah blah blah createdb -D /home/myuser/data blah blah blah all the other stuff to build your DBs and then you just need to fork and exec as myuser in your application. -- Nigel Andrews ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster