ODBCドライバー
前回の更新時(PostgreSQL Ver7.3からVer8.1に変更した時)にも同じようなことがあったのですが、MS-AccessからODBC経由でPostgreSQLでアクセスしていると、しばらく操作しないでほおっておくとソケットが切れてしまう、という現象がありました。
Vine3.2の時はODBCドライバーをUnicode 8.01.02.00に変更することで、この現象が止まりましたが、同じPostgreSQL Ver8.1.3+Unicode 8.01.02.00でもSolaris10では操作なしで時間が経つとソケットが切れてしまいます。最新版のODBCドライバーUnicode 8.02.02.00を使用しても直りません。
結局、今度こそKeepAliveの問題のようなのでMS-Access側でタイマーイベントを使用して1分おきに簡単なクエリーを飛ばしてやることで、ソケット切断をふせいでいます。これで販売管理プログラムが凍ってしまうということはなくなりましたが、Vine3.2の時とは違い、しばらくするとソケットを再接続しているような様子があります。このことがあって、動作速度が遅くなったような感じがするのです。
これがSolaris10のカーネルに由来するものなのか、postgresql.confの設定に由来するものなのか良くわかりませんが、つながってしまうと、前回より動作が少し速い感じなので、やはりカーネル側の問題なのではないかと思います。
実際、PostgreSQLのログにはこれに容量についての警告等はでていないようです。
(これを書いてて気が付いたのですが、
log_min_error_statement='error'
じゃ警告は記録されないよな。'notice'に変更して様子を見てみよう。)
前回の更新時(PostgreSQL Ver7.3からVer8.1に変更した時)にも同じようなことがあったのですが、MS-AccessからODBC経由でPostgreSQLでアクセスしていると、しばらく操作しないでほおっておくとソケットが切れてしまう、という現象がありました。
Vine3.2の時はODBCドライバーをUnicode 8.01.02.00に変更することで、この現象が止まりましたが、同じPostgreSQL Ver8.1.3+Unicode 8.01.02.00でもSolaris10では操作なしで時間が経つとソケットが切れてしまいます。最新版のODBCドライバーUnicode 8.02.02.00を使用しても直りません。
結局、今度こそKeepAliveの問題のようなのでMS-Access側でタイマーイベントを使用して1分おきに簡単なクエリーを飛ばしてやることで、ソケット切断をふせいでいます。これで販売管理プログラムが凍ってしまうということはなくなりましたが、Vine3.2の時とは違い、しばらくするとソケットを再接続しているような様子があります。このことがあって、動作速度が遅くなったような感じがするのです。
これがSolaris10のカーネルに由来するものなのか、postgresql.confの設定に由来するものなのか良くわかりませんが、つながってしまうと、前回より動作が少し速い感じなので、やはりカーネル側の問題なのではないかと思います。
実際、PostgreSQLのログにはこれに容量についての警告等はでていないようです。
(これを書いてて気が付いたのですが、
log_min_error_statement='error'
じゃ警告は記録されないよな。'notice'に変更して様子を見てみよう。)
※コメント投稿者のブログIDはブログ作成者のみに通知されます