2016-08-23 4 views
0

私は長い319h postgresql DELETE USINGクエリを実行しています。私はこの時点でクエリが終了するはずだと思います。そのような操作のリスクと、それがロールバックするかどうかはどう思いますか?長時間実行しているpostgresql DELETE USINGクエリを停止すると、ロールバックされますか?

ありがとうございました。

+0

Perhapこの投稿をお試しください。 https://www.postgresql.org/docs/9.0/static/libpq-cancel.html – Xiaoerge

+0

私はpg_terminate_backendを使用しています。私はロールバックしたくありません。 –

+0

'pg_terminate_backend()' **は**トランザクションをロールバックします。単一のステートメントは**常に**アトミックです。それが成し遂げたすべてのこと、成功したこと、または何もない。 –

答えて

0

コミットされていない場合、問題はありません。おそらく、DBA側から殺されなければならないハングしたトランザクションです。

+0

いいえ、クエリのデータを1つの大きなテーブルから別のテーブルに移動することはできません。私はロールバック操作が私が持っている貴重なリソースを消費するのに多くの時間を費やすことを望んでいません。 –

+0

@ sa-mao Postgresのロールバックはコストがかかりません。 –

+0

@ sa-maoまだ操作したい場合は、それをやってみてください。たとえば、10,000件のレコードを削除してからコミットします。 – drum

関連する問題