Magnus Hagander wrote: > Well, how does the server get from the config file to where the state > file is? Can we do it the same way, or even expose it to the tools > using a commandline parameter or something?
In that case (the Gentoo example), they use --data-directory su -l postgres \ -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \ /usr/lib/postgresql-9.0/bin/pg_ctl \ start ${WAIT_FOR_START} -t ${START_TIMEOUT} -s -D ${DATA_DIR} \ -o '-D ${PGDATA} --data-directory=${DATA_DIR} \ --silent-mode=true ${PGOPTS}'" We could have pg_ctl read that information from the command line for pg_ctl start, but for pg_ctl stop, we have no way of getting to that value. :-( It is not like something is missing from the code. The user can start multiple clusters from a single config dir and the information they give gives us no way to know which cluster they want, or where is it located. Yes, this is where the system seems logically broken for our purposes. It took me a while to understand this problem. > Or looking just from the pg_upgrade perspective, can we get enough > info out of a running backend before sending signals, or do we need it > on startup as well? pg_upgrade starts with all clusters stopped so there is no way to query it --- it is a chicken and egg in that we don't know where the data directory is to start it. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers