Menetapkan kueri ke antrian - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menetapkan kueri ke antrian

Contoh berikut menetapkan kueri ke antrian sesuai dengan peran pengguna, grup pengguna, dan grup kueri.

Menetapkan kueri ke antrian berdasarkan peran pengguna

Jika pengguna ditetapkan ke peran dan peran tersebut dilampirkan ke antrian, maka kueri yang dijalankan oleh pengguna tersebut ditetapkan ke antrian tersebut. Contoh berikut membuat peran pengguna bernama sales_rw dan menetapkan pengguna test_user untuk peran itu.

create role sales_rw; grant role sales_rw to test_user;

Anda juga dapat menggabungkan izin dari dua peran dengan secara eksplisit memberikan satu peran ke peran lain. Menetapkan peran bersarang ke pengguna memberikan izin kedua peran kepada pengguna.

create role sales_rw; create role sales_ro; grant role sales_ro to role sales_rw; grant role sales_rw to test_user;

Untuk melihat daftar pengguna yang telah diberikan peran dalam klaster, kueri tabel SVV_USER_GRANTS. Untuk melihat daftar peran yang telah diberikan peran dalam klaster, kueri tabel SVV_ROLE_GRANTS.

select * from svv_user_grants; select * from svv_role_grants;

Menetapkan kueri ke antrian berdasarkan grup pengguna

Jika nama grup pengguna tercantum dalam definisi antrian, kueri yang dijalankan oleh anggota grup pengguna tersebut ditetapkan ke antrian yang sesuai. Contoh berikut membuat grup pengguna dan menambahkan pengguna ke grup dengan menggunakan perintah SQLBUAT PENGGUNA,BUAT GRUP, danMENGUBAH KELOMPOK.

create group admin_group with user admin246, admin135, sec555; create user vp1234 in group ad_hoc_group password 'vpPass1234'; alter group admin_group add user analyst44, analyst45, analyst46;

Menetapkan kueri ke grup kueri

Anda dapat menetapkan kueri ke antrian saat runtime dengan menetapkan kueri Anda ke grup kueri yang sesuai. Gunakan perintah SET untuk memulai grup kueri.

SET query_group TO group_label

Di sini, group_labeladalah label grup kueri yang tercantum dalam konfigurasi WLM.

Semua kueri yang Anda jalankan setelah SET query_group perintah dijalankan sebagai anggota grup kueri yang ditentukan hingga Anda mengatur ulang grup kueri atau mengakhiri sesi login Anda saat ini. Untuk informasi tentang pengaturan dan pengaturan ulang objek Amazon Redshift, SET lihat ATUR ULANG dan di Referensi Perintah SQL.

Label grup kueri yang Anda tentukan harus disertakan dalam konfigurasi WLM saat ini; jika tidak, perintah SET query_group tidak berpengaruh pada antrian kueri.

Label yang ditentukan dalam klausa TO ditangkap dalam log kueri sehingga Anda dapat menggunakan label untuk pemecahan masalah. Untuk informasi tentang parameter konfigurasi query_group, lihat query_group di Referensi Konfigurasi.

Contoh berikut menjalankan dua query sebagai bagian dari kelompok query 'prioritas' dan kemudian me-reset grup query.

set query_group to 'priority'; select count(*)from stv_blocklist; select query, elapsed, substring from svl_qlog order by query desc limit 5; reset query_group;

Menetapkan kueri ke antrian superuser

Untuk menetapkan kueri ke antrean superuser, masuk ke Amazon Redshift sebagai superuser lalu jalankan kueri di grup superuser. Setelah selesai, atur ulang grup kueri sehingga kueri berikutnya tidak berjalan dalam antrian superuser.

Contoh berikut menetapkan dua perintah untuk dijalankan dalam antrian superuser.

set query_group to 'superuser'; analyze; vacuum; reset query_group;

Untuk melihat daftar pengguna super, kueri tabel katalog sistem PG_USER.

select * from pg_user where usesuper = 'true';