残念ながら、JDBC/postgresではsetTimeoutは実装されていません。私はこれをシミュレートしたり回避したりすることができますか?機能的に私は、クエリを実行すると、その後破るそれがN秒よりも長くかかる場合タイムアウトのあるJDBC postgresクエリ
答えて
"statement_timeout"は、あなたが望むもののように見えます。
SET statement_timeout TO 1000; -- for a second
<your_query_here>;
RESET statement_timeout; -- reset
RESETのstatement_timeoutを使う方が良いです。クエリが完了した後 - デフォルト値がある場合... –
修正済み、ありがとう! –
これをpgAdmin3でテストしました。 SET statement_timeoutが実際のクエリとは別に実行された場合にのみ動作します。一緒に実行されると、pgAdmin3はタイムアウト値がすでに設定されているものを使用し、クエリに付属のものを使用しません。 – Babar
データソースにc3p0を使用するとどうなりますか?これには設定可能なオプションがたくさんあります。また、データベースやネットワークには、acquireRetryAttempts、acquireRetryDelay、breakAfterAcquireFailureなどがあります。 LOCALキーワードを使用して
は、現在のトランザクションにstatement_timeoutの範囲を制限します。そうすれば、何かがうまくいかない場合(タイムアウトなど)、タイムアウトがリセットされます。
BEGIN TRANSACTION;
SET LOCAL statement_timeout TO 1000; -- one-second timeout
SELECT COUNT(*) FROM really_huge_table; -- your slow query
ROLLBACK; -- reset
- 1. JDBCのPostgresの真空タイムアウト
- 2. java/JDBCでpostgresクエリをキャンセルする方法
- 3. node-postgresでLISTENクエリのタイムアウトが発生しましたか?
- 4. のPostgres pg_dumpはタイムアウトし
- 5. JDBC getConnectionタイムアウトの問題
- 6. Returning句が失敗する(postgres 9.3、jdbc)
- 7. 'autoReconnect = true'の場合でもMySql JDBCタイムアウト
- 8. Postgres空間SQLクエリ
- 9. JDBCアクセス更新クエリ
- 10. Node.js - mysqlクエリのタイムアウト
- 11. JUnitでのJDBCクエリのテスト
- 12. postgresの動的SQLクエリ
- 13. Postgres INSERT INTOクエリのバグ?
- 14. Postgresクエリの実行時間
- 15. JDBCのPostgresは私が持っていると仮定し
- 16. POSTGRES JDBCで複数の結果セットを使用するには?
- 17. JDBCクエリ複数のデータベース
- 18. JDBC +大PostgreSQLのクエリは、メモリ
- 19. リーグテーブル - SQLクエリ/ JDBCの問題
- 20. JDBCクエリの最適化
- 21. Postgres動的クエリ関数
- 22. 私のpostgresクエリを最適化する
- 23. postgres jdbcドライバに準備されたSQL文を記録する
- 24. タイムアウトのあるGetMessage
- 25. リモートPowershell WMIクエリのタイムアウト
- 26. javaで複数のpostgresクエリを実行するには?
- 27. 更新によるPostgresグループ - 低速クエリ
- 28. クエリに含まれるMongoDBのタイムアウト!==
- 29. クエリのタイムアウト設定を拡張する
- 30. 単純な更新クエリのpostgresのデッドロック
この質問は、私が遭遇したpython/psycopg2の問題にも役立ちました。 Psycopg2は接続時にタイムアウトの設定を許可しているようですが、このインタフェースは私の場合は抽象化されています。このコメントを追加すると、他のユーザーがSOを検索するのに役立ちます。 – SetJmp