問題タブ [pgjdbc-ng]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - REF CURSOR が pgjdbc-ng ドライバーで機能しない
REFCURSOR
PGJDBC-NG Driver を使用して返す例を試していますが、例外が発生します
私が試しているソース/コードは -
kotlin - アクティブな状態を維持する必要がある接続で動作するように HikariCP を正しく構成するにはどうすればよいですか?
Spring Boot 2.4.0 と Spring Boot Data JPA を使用して PostgreSQL に接続し、JPA ベースのリポジトリで典型的な読み取りおよび書き込み操作を実行しています。データベースは他のサービスでも使用されるため、LISTEN/NOTIFY 機能 ( https://www.postgresql.org/docs/9.1/sql-listen.html ) を使用して、PostgeSQL からの変更について通知を受けます。このためcom.impossibl.postgres.jdbc.PGDriver
に、デフォルトのドライバーの代わりにドライバーを使用し、次のコードを使用して、Spring がデータベースへの変更をリッスンするようにします。
これは、ここで説明されているリスナーの Kotlin のような実装です: https://impossibl.github.io/pgjdbc-ng/docs/current/user-guide/#extensions-notifications
リスナーは機能しますが、1 日以上後に次のエラーが発生します。
問題を見つけるために、 https://github.com/brettwooldridge/HikariCP/issues/1111#issuecomment-569552070で推奨されているように、Hikari からのログを有効にしました。ログの抜粋の出力を次に示します。
私にとってはログは正しいように見えますが、しばらくするとアクティブな接続がますます増加します...
...説明されているエラーメッセージになるまで。
説明されているエラーを回避するには、どのように Hikari を正しく構成するか、コードを変更する必要があるのだろうか? お役に立てれば幸いです。
java - pgjdbc-ng と pgjdbc では動作が異なりますか?
非同期通知を利用するために、postgresql jdbc ドライバーを pgjdbc から pgjdbc-ng に交換しました。トランザクション分離レベルをシリアライズすると、動作が異なります。
クエリを実行: insert into "_revision"(revision, timestamp) select coalesce(max(revision), 0)+1, transaction_timestamp() at time zone 'utc' from "_revision" returning revision
pgjdbc ドライバーでシリアル化可能なトランザクション分離レベルで同時に 2 回実行すると、次のエラーが発生します。
pgjdbc-ng ドライバーと同じ場合、エラーが発生します。
hikari 接続プールを正しいデータソースでセットアップする以外は、実行コードを変更していません。似たようなことを経験した人はいますか、または pgjdbc-ng シナリオでシリアライゼーションが失敗しない理由を知っていますか?
spring-boot - HikariCP と impossibl/pgjdbc-ng ドライバーを使用する Spring Boot アプリケーションが pgbouncer に接続できない
HikariCP と impossibl/pgjdbc-ng ドライバーを使用して、Spring Boot アプリケーションを実装しました。データベース接続 URL が postgres データベースを参照している限り、アプリケーションは正常に動作しています。ただし、データベース URL に pgbouncer のアドレスが含まれている場合、アプリケーションは次のエラー メッセージで起動に失敗します。
...
問題を解決するために、HikariCP を別のデータソース実装に置き換えるという推奨事項を見つけましたが、アプリケーションを変更したくないため、これはオプションではありません。だから私の質問は:
- エラーメッセージの原因は何ですか?
- JDBC URL にパラメータを追加することで問題を解決できますか?
前もって感謝します!