[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 メーリングリストの案内