Re: Installation woes via Macports on Mac OS X 10.7

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Installation woes via Macports on Mac OS X 10.7
Дата
Msg-id 24182.1318053718@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Installation woes via Macports on Mac OS X 10.7  (René Fournier <renefournier@gmail.com>)
Ответы Re: Installation woes via Macports on Mac OS X 10.7
Список pgsql-general
=?iso-8859-1?Q?Ren=E9_Fournier?= <renefournier@gmail.com> writes:
> I've tried installation 8.4 and 9.0 on two different machines, and at the end can't start Postgresql. Here's the
basicstory: 

No, you started it all right, because it's there in the ps output:

> Fri Oct 07 14:18:20 -- Baby-Irmo :: ps -ax | grep "postgres"
>    56 ??         0:08.28 /usr/bin/postgres -D /var/pgsql -c listen_addresses= -c log_connections=on -c
log_directory=/Library/Logs-c log_filename=PostgreSQL.log -c log_lock_waits=on -c log_statement=ddl -c
log_line_prefix=%t -c logging_collector=on -c unix_socket_directory=/var/pgsql_socket -c unix_socket_group=_postgres -c
unix_socket_permissions=0770
>   226 ??         0:33.67 postgres: logger process
>   253 ??         1:41.76 postgres: writer process
>   254 ??         1:12.68 postgres: wal writer process
>   255 ??         0:23.39 postgres: autovacuum launcher process
>   256 ??         0:38.62 postgres: stats collector process
The problem is with that command-line option
"unix_socket_directory=/var/pgsql_socket" that your startup wrapper is
evidently feeding to the postmaster.  That means your postmaster is
listening on a socket file in /var/pgsql_socket, which is not where your
psql is expecting to find it:

> Fri Oct 07 14:18:04 -- Baby-Irmo :: /opt/local/lib/postgresql90/bin/psql -U postgres
> psql: could not connect to server: No such file or directory
> Is the server running locally and accepting
> connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Here, psql shows it's expecting to find the socket file in /tmp, which
is the default location for PG socket files.

While there are defensible reasons for putting the socket file somewhere
other than /tmp, I'd have to say that an installation wrapper that
thinks it should change that setting on the postmaster command line is
just about as incompetent as it could possibly be.  That's equivalent to
changing the default port number and not bothering to tell the clients
about it.  You need to find a packaging built by somebody with more of a
clue than that.  It's not helping any that you seem to be using a psql
that was built independently of the postmaster (why is the postmaster in
/usr/bin when your psql is in /opt/local/lib/postgresql90?) ... but
frankly, I cannot imagine a sane reason for setting
unix_socket_directory with that mechanism, unless you're intentionally
trying to make it hard to connect.  (And those unix_socket_group and
unix_socket_permissions settings are making it even harder ...)

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: select vs cursor/fetch speed disparity
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: Failure controlling PG 9.1 service on Ubuntu 10.04 32-bit