Thread: pg_ctl -w with postgresql.conf in non-default path
Hello guys, This is my first post to this list.. I'm using PostgreSQL8.3.3 and I moved postgresql.conf to the outside of DATA direcotory, and invoked postgres via pg_ctl as following. pg_ctl -w -D /data -o '--config-file=/home/hirano/postgresql.conf' start This seems to work well, but when I changed the port parameter in that postgresql.conf, pg_ctl waits for timeout by "-w" option. In this case, postgres correctly listens the port I wrote in config, but pg_ctl checkes the port in the data/postgresql.conf file. I think this is because the path to postgresql.conf is hard-coded in the pg_ctl.c | snprintf(conf_file, MAXPGPATH, "%s/postgresql.conf", pg_data); But actually there're no descriptions of --config-file option in the manual of postgres command, although I'm not sure how I could find it... Is it bad way to use --config-file option or pg_ctl bug? Regards. -- HIRANO Yoshitaka
yo@hirano.cc wrote: > Hello guys, > > This is my first post to this list.. > > I'm using PostgreSQL8.3.3 and I moved postgresql.conf to the > outside of DATA direcotory, and invoked postgres via pg_ctl > as following. > > pg_ctl -w -D /data -o '--config-file=/home/hirano/postgresql.conf' start > > This seems to work well, but when I changed the port parameter in > that postgresql.conf, pg_ctl waits for timeout by "-w" option. > In this case, postgres correctly listens the port I wrote in > config, but pg_ctl checkes the port in the data/postgresql.conf > file. > > I think this is because the path to postgresql.conf is hard-coded > in the pg_ctl.c > > | snprintf(conf_file, MAXPGPATH, "%s/postgresql.conf", pg_data); > > But actually there're no descriptions of --config-file option in the > manual of postgres command, although I'm not sure how I could > find it... > > Is it bad way to use --config-file option or pg_ctl bug? > > > Try setting the port for pg_ctl: PGPORT=nnn pg_ctl -D datadir -w start cheers andrew
From: Andrew Dunstan <andrew@dunslane.net> Subject: Re: [HACKERS] pg_ctl -w with postgresql.conf in non-default path Date: Mon, 07 Jul 2008 09:07:14 -0400 > Try setting the port for pg_ctl: PGPORT=nnn pg_ctl -D datadir -w start Thank you, andrew, I understand what I did was not right way to specify the port. And finally i found the way to specify the path of postgresql.conf file in the manual 18.2. | If you wish to keep the configuration files elsewhere than the data directory, | the postgres -D command-line option or PGDATA environment variable must point | to the directory containing the configuration files, and the data_directory | parameter must be set in postgresql.conf (or on the command line) to show | where the data directory is actually located. This is very complicated and not intuitive way but I understand in this case pg_ctl.c works well. Regards. -- HIRANO Yoshitaka