PG_ _ CANCEL BACKEND - Amazon Redshift

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);