エラーが発生した場合、PostgreSQLは実際にはトランザクションをロールバックしません。後続のすべてのステートメントがエラーで失敗します。クライアントでこれを試すことができます。
ステートメントを正常に実行するには、ロールバックを実行する必要があります。
接続を閉じて新しい接続を開始する場合、これはほとんど重要ではありません。ただし、接続を保持し、正常に実行されると予想される他のステートメントを実行すると、機能しません。
エラーが発生した場合、PostgreSQLは実際にはトランザクションをロールバックしません。後続のすべてのステートメントがエラーで失敗します。クライアントでこれを試すことができます。
ステートメントを正常に実行するには、ロールバックを実行する必要があります。
接続を閉じて新しい接続を開始する場合、これはほとんど重要ではありません。ただし、接続を保持し、正常に実行されると予想される他のステートメントを実行すると、機能しません。