[pgsql-jp: 41755] Re: FATAL: canceling authentication due to timeout

Tomoaki Sato sato @ sraoss.co.jp
2014年 12月 19日 (金) 09:18:32 JST


佐藤です。

> はじめまして柳林と申します。よろしくお願いいたします。
> 
> postgresql-9.1.5をapache-2.2.23とphp-5.3.16のウェブサーバから利用して
> います。
> 
> かなり頻度は低いのですが、以下のメッセージが記録されます。
> 
> [2-1] FATAL:  canceling authentication due to timeout
> 
> 発生時刻のapacheのエラーログとアクセスログを確認しても起因となるアク
> セスが特定できず、原因不明の状態です。
> メッセージを素直に読むと「postgresqlへの認証処理がタイムアウトした」
> となりますが、原因を特定するためのアドバイスをいただけると幸いです。

単に負荷が高くて処理に時間がかかったか、VACUUM FULL などの強いロックを
取る処理の実行中で、認証に必要なシステムカタログのロック待ちで時間がか
かったか、といったことが考えられます。

log_lock_waits = on にしておくと、ロック待ちで deadlock_timeout に指定
された時間 (デフォルトでは 1s) を越えた場合にはテーブルを特定できます。

2014-12-19 09:03:46.306 JST [unknown][2254] LOG:  process 2254 still waiting for AccessShareLock on relation 1260 of database 0 after 1001.515 ms
2014-12-19 09:04:45.304 JST [unknown][2254] FATAL:  canceling authentication due to timeout

=# select '1260'::regclass;
 regclass
-----------
 pg_authid


----
Tomoaki Sato <sato @ sraoss.co.jp>
SRA OSS, Inc. Japan


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