私は長い319h postgresql DELETE USINGクエリを実行しています。私はこの時点でクエリが終了するはずだと思います。そのような操作のリスクと、それがロールバックするかどうかはどう思いますか?長時間実行しているpostgresql DELETE USINGクエリを停止すると、ロールバックされますか?
ありがとうございました。
私は長い319h postgresql DELETE USINGクエリを実行しています。私はこの時点でクエリが終了するはずだと思います。そのような操作のリスクと、それがロールバックするかどうかはどう思いますか?長時間実行しているpostgresql DELETE USINGクエリを停止すると、ロールバックされますか?
ありがとうございました。
コミットされていない場合、問題はありません。おそらく、DBA側から殺されなければならないハングしたトランザクションです。
いいえ、クエリのデータを1つの大きなテーブルから別のテーブルに移動することはできません。私はロールバック操作が私が持っている貴重なリソースを消費するのに多くの時間を費やすことを望んでいません。 –
@ sa-mao Postgresのロールバックはコストがかかりません。 –
@ sa-maoまだ操作したい場合は、それをやってみてください。たとえば、10,000件のレコードを削除してからコミットします。 – drum
Perhapこの投稿をお試しください。 https://www.postgresql.org/docs/9.0/static/libpq-cancel.html – Xiaoerge
私はpg_terminate_backendを使用しています。私はロールバックしたくありません。 –
'pg_terminate_backend()' **は**トランザクションをロールバックします。単一のステートメントは**常に**アトミックです。それが成し遂げたすべてのこと、成功したこと、または何もない。 –