Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
PG_ _ CANCEL BACKEND
Membatalkan kueri. PG_ CANCEL _ BACKEND secara fungsional setara dengan perintah. CANCEL Anda dapat membatalkan kueri yang saat ini dijalankan oleh pengguna Anda. Superusers dapat membatalkan kueri apa pun.
Sintaks
pg_cancel_backend( pid )
Argumen
- pid
-
ID proses (PID) dari kueri yang akan dibatalkan. Anda tidak dapat membatalkan kueri dengan menentukan ID kueri; Anda harus menentukan ID proses kueri. Membutuhkan
INTEGER
nilai.
Jenis pengembalian
Tidak ada
Catatan penggunaan
Jika kueri dalam beberapa sesi menahan kunci pada tabel yang sama, Anda dapat menggunakan PG_ _ TERMINATE BACKEND fungsi untuk mengakhiri salah satu sesi, yang memaksa setiap transaksi yang sedang berjalan di sesi yang dihentikan untuk melepaskan semua kunci dan memutar kembali transaksi. Kueri tabel LOCKS katalog PG__ untuk melihat kunci yang saat ini dipegang. Jika Anda tidak dapat membatalkan kueri karena berada di blok transaksi (BEGIN...END), Anda dapat mengakhiri sesi di mana kueri berjalan dengan menggunakan fungsi PG_ _TERMINATE. BACKEND
Contoh
Untuk membatalkan kueri yang sedang berjalan, pertama-tama ambil ID proses untuk kueri yang ingin Anda batalkan. Untuk menentukan proses IDs untuk semua query yang sedang berjalan, jalankan perintah berikut.
SELECT pid, TRIM(starttime) AS start, duration, TRIM(user_name) AS user, SUBSTRING(query,1,40) AS querytxt FROM stv_recents WHERE status = 'Running';
+-----+------------------------+----------+--------+-----------------------------+ | pid | starttime | duration | user | querytxt | +-----+------------------------+----------+--------+-----------------------------+ | 802 | 2013-10-14 09:19:03.55 | 132 | dwuser | select venuename from venue | | 834 | 2013-10-14 08:33:49.47 | 1250414 | dwuser | select * from listing; | | 964 | 2013-10-14 08:30:43.29 | 326179 | dwuser | select sellerid from sales | +-----+------------------------+----------+--------+-----------------------------+
Untuk membatalkan kueri dengan ID proses 802, gunakan contoh berikut.
SELECT PG_CANCEL_BACKEND(802);