Java/Postgres アプリケーションでのエラー処理を改善しようとしていますが、固定長の列に対して入力が長すぎるというエラーが頻繁に発生します。これが発生したときにトランザクションをロールバックしますが、ロールバックが完了する前に、どの列が長さの制約に違反しているかを特定して、このエラーのデバッグをより簡単かつ効率的にする方法を見つけようとしています。
私のアプローチは次のとおりです。
informationschema.columns
エラー メッセージに表示された長さのすべての列名を取得するクエリ- 手順 1 で返された各列をクエリして、長さの制約を確認します
ただし、情報スキーマを照会しようとすると、次のエラーが発生します。
ERROR: current transaction is aborted, commands ignored until end of transaction block
このトランザクションで Java から引き続きクエリを実行する方法はありますか、または長さの制約に違反している列を取得するためのより良い方法はありますか?