PostgreSQLクエリタイムアウトシミュレーション

PostgreSQLクエリタイムアウトシミュレーション

クエリがタイムアウトした場合は、PostgreSQLサーバーに対してクエリを実行するプログラムの動作をテストしたいと思います。

これをどのようにシミュレートできますか?

答え1

タイムアウトをシミュレートする場合アプリケーション側面では、次のダミークエリを使用できます。

SELECT pg_sleep(seconds);

secondsクエリをシミュレートしても合理的な時間内に返されない整数値がある場合。

クエリから返したくない場合は、上記のコマンドを実行してデータベースを終了してください。

pgrep posgres | xargs kill -15 $1

私はこれがクエリタイムアウトをシミュレートすると信じています。

答え2

成功したクエリをどのようにシミュレートしますか?同じメカニズムを使用できますが、PGRES_FATAL_ERROR戻り値に戻り(および適切なメッセージ文字列)を使用できる必要がありますPGresult

関連情報