Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menetapkan kueri ke antrian
Dengan Amazon Redshift, Anda dapat mengelola konkurensi beban kerja dan memprioritaskan kueri dengan menetapkannya ke antrian. Antrian memungkinkan Anda mengalokasikan sumber daya seperti memori dan CPU untuk berbagai jenis kueri atau pengguna, memastikan kueri kritis diprioritaskan daripada yang kurang penting. Bagian berikut menjelaskan cara membuat antrian, mengonfigurasi propertinya, dan menetapkan kueri masuk berdasarkan kriteria yang Anda tentukan.
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 antrean 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 di cluster, kueri GRANTS tabel SVV USER _ _. Untuk melihat daftar peran yang telah diberikan peran dalam klaster, kueri GRANTS tabel SVV ROLE _ _.
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 SQL perintahCREATE USER,CREATE GROUP, danALTER GROUP.
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 SET perintah untuk memulai grup kueri.
SET query_group TO
group_label
Di sini,
adalah label grup kueri yang tercantum dalam WLM konfigurasi.group_label
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 RESET dan di Referensi PerintahSQL.
Label grup kueri yang Anda tentukan harus disertakan dalam WLM konfigurasi saat ini; jika tidak, perintah SETquery_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 USER sistem PG_.
select * from pg_user where usesuper = 'true';