Re: [HACKERS] pg_ctl -w vs unix_socket_directory

2007-09-19 Thread Radosław Zieliński
On 19/09/2007, Tom Lane [EMAIL PROTECTED] wrote:
 Radoslaw Zielinski [EMAIL PROTECTED] writes:
  pg_ctl -w -D ... start doesn't work when unix_socket_directory is set
  to somewhere else than the compiled in default (/tmp).
 pg_ctl not working is going to be the very least of your worries;
 pretty much nothing else will either.

 If you want some other socket directory, I strongly recommend setting
[...]

I don't want any other socket directory.  All I want is a way to
create a working startup script: able to start/stop the server
regardless of changes in postgresql.conf and report the success or
failure.

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [HACKERS] pg_ctl -w vs unix_socket_directory

2007-09-19 Thread Jeff Davis
On Tue, 2007-09-18 at 19:13 -0400, Tom Lane wrote:
 Radoslaw Zielinski [EMAIL PROTECTED] writes:
  pg_ctl -w -D ... start doesn't work when unix_socket_directory is set
  to somewhere else than the compiled in default (/tmp).
 
 pg_ctl not working is going to be the very least of your worries;
 pretty much nothing else will either.
 

If you mean client applications won't work, that would be expected from
such a change to the server configuration.

 If you want some other socket directory, I strongly recommend setting
 the path to it at compile time so that it's properly wired into libpq.
 AFAICS the only value in specifying unix_socket_directory at server
 start is if you actually *want* a stealth server that won't be found
 by clients without manual intervention.
 

Those arguments apply almost as well to the server port. The server port
is read from the postgresql.conf from pg_ctl, but not the socket
directory.

It's an annoyance: if you change the default socket directory, you're
probably going to break your init script (on FreeBSD you will, because
it uses -w). I don't think that's the expected result, and it's not
intuitive to find the cause of the problem.

I think the inconsistency between server port number and socket
directory is less than ideal. However, I also don't feel very strongly
about it. It's rare, and a there are plenty of workarounds. 

Regards,
Jeff Davis


---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


[HACKERS] pg_ctl -w vs unix_socket_directory

2007-09-18 Thread Radoslaw Zielinski
Hello,

pg_ctl -w -D ... start doesn't work when unix_socket_directory is set
to somewhere else than the compiled in default (/tmp).  Having this is
useful for the startup scripts, so the status DONE actually means
success, instead of maybe.

Jeff Davis wrote about it a while ago:
http://svr5.postgresql.org/pgsql-general/2006-09/msg01141.php


Simple hacky patch for v8.2.5; maybe someone finds it useful before
the proper config parser is integrated:
http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/postgresql-pg_ctl-fix.patch?rev=HEAD

-- 
Radosław Zieliński [EMAIL PROTECTED]


pgpOSbaPWUgyJ.pgp
Description: PGP signature


Re: [HACKERS] pg_ctl -w vs unix_socket_directory

2007-09-18 Thread Andrew Dunstan


This has a trivial workaround - just set PGHOST for pg_ctl:

[EMAIL PROTECTED] inst.codfix.5705]$ 
PGHOST=/home/andrew/pgl/inst.codfix.5705 bin/pg_ctl -D data/ -l logfile 
-w start

waiting for server to start done
server started
[EMAIL PROTECTED] inst.codfix.5705]$

cheers

andrew


Radoslaw Zielinski wrote:

Hello,

pg_ctl -w -D ... start doesn't work when unix_socket_directory is set
to somewhere else than the compiled in default (/tmp).  Having this is
useful for the startup scripts, so the status DONE actually means
success, instead of maybe.

Jeff Davis wrote about it a while ago:
http://svr5.postgresql.org/pgsql-general/2006-09/msg01141.php


Simple hacky patch for v8.2.5; maybe someone finds it useful before
the proper config parser is integrated:
http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/postgresql-pg_ctl-fix.patch?rev=HEAD

  


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [HACKERS] pg_ctl -w vs unix_socket_directory

2007-09-18 Thread Radoslaw Zielinski
Andrew Dunstan [EMAIL PROTECTED] [18-09-2007 23:42]:
 This has a trivial workaround - just set PGHOST for pg_ctl:

 [EMAIL PROTECTED] inst.codfix.5705]$ 
 PGHOST=/home/andrew/pgl/inst.codfix.5705 bin/pg_ctl -D data/ -l logfile -w 
 start

That would be fine for a particular installation, but isn't really
suitable for a startup script shipped with a linux distribution.  Sure,
a /bin/sh-based postgresql.conf parser could do the trick... but I just
don't feel like writing one. :-)

-- 
Radosław Zieliński [EMAIL PROTECTED]


pgp0f1LJEqQPz.pgp
Description: PGP signature


Re: [HACKERS] pg_ctl -w vs unix_socket_directory

2007-09-18 Thread Tom Lane
Radoslaw Zielinski [EMAIL PROTECTED] writes:
 pg_ctl -w -D ... start doesn't work when unix_socket_directory is set
 to somewhere else than the compiled in default (/tmp).

pg_ctl not working is going to be the very least of your worries;
pretty much nothing else will either.

If you want some other socket directory, I strongly recommend setting
the path to it at compile time so that it's properly wired into libpq.
AFAICS the only value in specifying unix_socket_directory at server
start is if you actually *want* a stealth server that won't be found
by clients without manual intervention.

regards, tom lane

---(end of broadcast)---
TIP 7: You can help support the PostgreSQL project by donating at

http://www.postgresql.org/about/donate


Re: [HACKERS] pg_ctl -w vs unix_socket_directory

2007-09-18 Thread Andrew Dunstan



Radoslaw Zielinski wrote:

Andrew Dunstan [EMAIL PROTECTED] [18-09-2007 23:42]:
  

This has a trivial workaround - just set PGHOST for pg_ctl:



  
[EMAIL PROTECTED] inst.codfix.5705]$ 
PGHOST=/home/andrew/pgl/inst.codfix.5705 bin/pg_ctl -D data/ -l logfile -w 
start



That would be fine for a particular installation, but isn't really
suitable for a startup script shipped with a linux distribution.  Sure,
a /bin/sh-based postgresql.conf parser could do the trick... but I just
don't feel like writing one. :-)

  


I think it's broken for a distro to ship with config files setting a 
socket dir other than the one they compile in.


If you don't like /tmp compile in something else. The you don't need to 
parse anything.


cheers

andrew

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster