PostgreSQLでトランザクション中にSQLエラーが発生した場合

PostgreSQLでトランザクション中にSQLエラーが1度でも発生すると、それ以降のSQL実行では

ERROR: current transaction is aborted, commands ignored until end of transaction block

というエラーが発生してしまう。try-catchブロックを入れ子にして強制的に続行することは不可能なようなので、1度エラーが発生した場合はおとなしくトランザクションをロールバックするか、終了させる必要がある。