彼らがそこにいるなら; 彼らはそこにいますが、魔法のように薄い空気から飛び出すことはありませんでした。私があなたに戻って彼らがあなたの場合何であったかを私たちに話して欲しいと思いますが、それは通常二つのうちの一つです、
- 接続プーリング
- ORMまたはSQLの抽象化
時々、これらの人は接続して空のトランザクションを開始したり、トランザクションを準備したりします。それは常に悪いライブラリの結果です。ライブラリが新しいか、データベースにとって新しいかは、言い訳になりません。ライブラリが古く、これを行っている場合、私は彼らがそれにあまり目を向けていないのではないかと疑い、代替案を検討します。
コメントから、
Postgresは独自に接続を作成しません。これらの接続を作成し、それらのクエリを実行するのはアプリケーションです。おそらく接続プールまたは同様のもの。– a_horse_with_no_name 2013年9月10日9:03
Javaアプリケーションを実行していますか?HikariCP、またはおそらく別の接続プーリングオプションを使用していますか?私はHikariCPを使用していて、psqlにログインしてpg_stat_activityから選択クエリを実行すると、同様のことが表示されます。私の推測では、これはHikariCPが接続を「新鮮」に保つメカニズムです。–クリスW. Jan 16 '16 19:22
接続を「新鮮」に保つ試みは可能ですが、それを行うためのコーシャの方法は次のようなものです
result = PQexec(imp_dbh->conn, "/* DBD::Pg ping test v3.6.0 */");
代わりに、その方法を使用するためにバグレポートを提出することができます。