[pgsql-jp: 29450] Re: .s.PGSQL.5432 ファイルの場所

ISHIDA Akio iakio @ pjam.jpweb.net
2003年 3月 18日 (火) 14:22:37 JST


石田@苫小牧市です。

吉塚 陽子 <yoshizuka.wakaba @ nikon.co.jp> wrote:
(2003/03/18 13:28)

>吉塚です。
>
>石田さんありがとうございます。
>
>> 
>> http://www.postgresql.jp/document/pg721doc/admin/runtime-config.html
>>>> UNIX_SOCKET_DIRECTORY
>> でどうでしょうか?
>> 
>そうなんですよね。ここを変更すればいいのは何となく解ったので、Postgresを停止
>(pg_ctl stop)した後、
>postgresql.confのUNIX_SOCKET_DIRECTORYを
>#unix_socket_directory = '' → unix_socket_directory =
> '/usr/local/pgsql/data’
>と書き換えて、Postgresを起動(pg_ctl start)させました。
>すると /usr/local/pgsql/data ディレクトリー以下に以下のファイルが当然のご
>とくできます。
>.s.PGSQL.5432
>.s.PGSQL.5432.lock
> postmaster.pid
>
>ところがこの後 psql -l とすると、以下のお決まりのエラーが発生してしまうん
>ですよ。
>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"?
>
>ただしPostgresの停止(pg_ctl stop)はできます。
>Postgresの起動も停止もできるのですが、Postgresにアクセスできません。

psql -h /usr/local/pgsql/tmp

とすると良いようです。

libpq 的には、ホスト名として渡された文字列の先頭が / であれば、
Unix ドメインケットのパスだと解釈するようですが、
全ての libpq アプリケーションでこれがつかえるかどうかは
わかりません。

http://www.postgresql.jp/document/pg721doc/programmer/libpq-connect.
html

あとは、pg_config.h あたりをいじって libpq をコンパイル
しなおせば、デフォルトの Unix ドメインパスを変更
できるかもしれません。

--
ISHIDA Akio<iakio @ pjam.jpweb.net>




pgsql-jp メーリングリストの案内