[pgsql-jp: 31442] Re: 7.4RC2 regression failur and not running stats collector process on Solaris

Kiyoshi Sawada sawa @ nagoya2.jrc.or.jp
2003年 11月 12日 (水) 20:31:31 JST


沢田です。

stats ... FAILED に、端を発した、Solaris の
could not bind socket for statistics collector:
の件です。

On Wed, 12 Nov 2003 09:32:37 +0900  Kiyoshi Sawada <sawa @ nagoya2.jrc.or.jp> wrote:
> 
> 起動時のサーバログをチェックすることを忘れていました。
> -------------------------------------
> LOG:  could not bind socket for statistics collector: Cannot assign requested address
> -------------------------------------
> ネットワーク設定なのかな? どなたかヒントをいただけたら幸いです。
> 

本家HACKERSからもアドバイスをいただき、
src/backend/postmaster/pgstat.c の pgstat_init() を追っかけています。
------------------------------------------
/*
* Bind it to a kernel assigned port on localhost and get the assigned
* port via getsockname().
*/
if (bind(pgStatSock, addr->ai_addr, addr->ai_addrlen) < 0)
{
   ereport(LOG,
                (errcode_for_socket_access(),
                 errmsg("could not bind socket for statistics collector: %m")));
   goto startup_failed;
}
------------------------------------------

どうやら、bind()でエラーを出しているようです。
http://bama.ua.edu/cgi-bin/man-cgi?bind+3XNET
あたりで、ネットワーク関数までは解ったのですが... 撃沈状態です。

pgstat.c を眺めると、ネットワーク関数の扱いが、7.3.x系と比較して
大幅に変わっているような気がします。

Solarisのネットワークにお強い方、アドバイスをいただけたら幸いです。

-- 
沢田 潔 <sawa @ nagoya2.jrc.or.jp>





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