On Aug 16, 2014, at 9:01 AM, Nick Guenther <nguen...@uwaterloo.ca> wrote:
> > > On August 16, 2014 11:41:02 AM EDT, lin <jlu...@163.com> wrote: >> Hi all, >> I change the value of "unix_socket_directories" in postgresql.conf , >> then restart the database, but it cannot connect the database used like >> this >> "psql -d postgres -p 5432" , it must given the parameter " -h /xx/xx" >> to use the Unix domain socket。 >> how to fix this issue ? > > I'll start by saying that your test case is very clear, and thank you for it. > I am unsure what your goal is, however. I assume you are trying to set up > parallel postgres processes, for debugging. I've done this recently, for that > reason. > > First thing to point out is that you need only one of -h and -p. They are > redundant options, because you only connect to postgres either over TCP (-p) > or with a unix domain socket (-h). Not really. In the case of a TCP connection you need -h for the hostname and -p for the port. For a unix socket connection you use -h to specify the directory the unix socket is in, and -p is used to generate the name of the socket within that directory. If you omit one or both then the compiled-in defaults will be used, but it still uses both values to connect. > > Second, what you're seeing is necessary. If you change the default, then psql > doesn't know where to look. However, you can recover the old behaviour with > shell tricks: > $ alias psql='psql -h /xx/xx' > $ psql -d postgres Setting environment variables to point to your preferred instance will also work - and it'll work with any client that uses libpq (which is probably almost everything that's not java). Cheers, Steve > > (Personally, I wrote a short wrapper script called "client.sh" which > depth-first searches for a postgres db directory and the runs 'psql -h' with > the first one it finds; equally well you could have this script install an > alias) > > Are you perhaps confused about what a unix domain socket is? Why are you > changing it? This is a decent description of it: > http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/unix.4 > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general