Postgresのドキュメントに従って - 準備が整ったら、COMMIT PREPAREDまたはROLLBACK PREPAREDを使用してトランザクションを後でコミットまたはロールバックすることができます。これらのコマンドは、私は、データベーステーブルにcsvファイルからデータをインポートしようとしています。このために、私はこのすべては、シェルスクリプトで行われPREPARE TRANSACTIONの作業方法
COPY tablename [ (column [, ...]) ] FROM { 'filename' }
を使用しています、どのセッションからnot only the one that executed the original transaction.
を発行することができます。 今の問題は、私はpsql
コマンドを実行し、(私はそのコマンドに
prepare transaction 'some-id'
コマンドを使用してトランザクションを開始)-c
オプションでパラメータとして、このコマンドを渡していますということです。
セーブポイントを作成し、エラーが発生した場合はロールバックする必要があります。シェルスクリプトでいくつかの他のタスクの後
、私は以前psqlの文が生成されていることをエラーをチェックし、ときに私は、コマンド
Prepared Rollback 'transaction-id'
(別psql command with sql statements
中)
それを使用してロールバックしてみてくださいレポート "No "transaction-id" found
"
私はコンセプトが間違っているか、プロセスに何か不足していますか?
psql
コマンドを複数回発行しており、それぞれ新しいトランザクションが発生しているため、これは起こっていますか?