DBD::Pg に記載されているように手動トランザクションを機能させるのに苦労しているか、単にドキュメントを誤解しています。
私の理解では、トランザクションを手動で管理したい場合は、AutoCommit をオフにする必要があります。
$dbh->{AutoCommit} = 0;
$dbh->begin_work;
しかし、これを行うと、継続的なエラーが発生します
DBD::Pg::db begin_work failed: Already in a transaction
これを機能させるには、最初に AutoCommit をオンにする必要があります。
$dbh->{AutoCommit} = 1;
$dbh->begin_work;
しかし、それはどのドキュメントとも一致していないようです。
私は単にそれを誤解していますか?