Kueri tabel dan tampilan sistem - Amazon Redshift

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

Kueri tabel dan tampilan sistem

Selain tabel yang Anda buat, gudang data Anda berisi sejumlah tabel dan tampilan sistem. Tabel dan tampilan ini berisi informasi tentang instalasi Anda dan berbagai kueri dan proses yang berjalan pada sistem. Anda dapat menanyakan tabel dan tampilan sistem ini untuk mengumpulkan informasi tentang database Anda. Untuk informasi selengkapnya, lihat Referensi tabel dan tampilan sistem di Panduan Pengembang Database Amazon Redshift. Deskripsi untuk setiap tabel atau tampilan menunjukkan apakah tabel terlihat oleh semua pengguna atau hanya untuk pengguna super. Masuk sebagai pengguna super untuk menanyakan tabel yang hanya terlihat oleh pengguna super.

Melihat daftar nama tabel

Untuk melihat daftar semua tabel dalam skema, Anda dapat menanyakan tabel katalog DEF sistem PG_ TABLE _. Anda dapat terlebih dahulu memeriksa pengaturan untuksearch_path.

SHOW search_path;

Hasilnya akan terlihat mirip dengan yang berikut ini,

search_path --------------- $user, public

Contoh berikut menambahkan SALES skema ke jalur pencarian dan menunjukkan semua tabel dalam SALES skema.

set search_path to '$user', 'public', 'sales'; SHOW search_path; search_path ------------------------ "$user", public, sales select * from pg_table_def where schemaname = 'sales'; schemaname | tablename | column | type | encoding | distkey | sortkey | notnull ------------+-----------+----------+------------------------+----------+---------+---------+--------- sales | demo | personid | integer | az64 | f | 0 | f sales | demo | city | character varying(255) | lzo | f | 0 | f

Contoh berikut menunjukkan daftar semua tabel yang disebut DEMO dalam semua skema pada database saat ini.

set search_path to '$user', 'public', 'sales'; select * from pg_table_def where tablename = 'demo'; schemaname | tablename | column | type | encoding | distkey | sortkey | notnull ------------+-----------+----------+------------------------+----------+---------+---------+--------- public | demo | personid | integer | az64 | f | 0 | f public | demo | city | character varying(255) | lzo | f | 0 | f sales | demo | personid | integer | az64 | f | 0 | f sales | demo | city | character varying(255) | lzo | f | 0 | f

Untuk informasi lebih lanjut, lihat PG_ _ TABLE. DEF

Anda juga dapat menggunakan editor kueri Amazon Redshift v2 untuk melihat semua tabel dalam skema tertentu dengan terlebih dahulu memilih database yang ingin Anda sambungkan.

Lihat pengguna

Anda dapat menanyakan USER katalog PG_ untuk melihat daftar semua pengguna, bersama dengan ID pengguna (USESYSID) dan hak istimewa pengguna.

SELECT * FROM pg_user; usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig ------------+----------+-------------+----------+-----------+----------+----------+----------- rdsdb | 1 | true | true | true | ******** | infinity | awsuser | 100 | true | true | false | ******** | | guest | 104 | true | false | false | ******** | |

Nama pengguna digunakan rdsdb secara internal oleh Amazon Redshift untuk melakukan tugas administrasi dan pemeliharaan rutin. Anda dapat memfilter kueri untuk hanya menampilkan nama pengguna yang ditentukan pengguna dengan menambahkan pernyataan where usesysid > 1 AndaSELECT.

SELECT * FROM pg_user WHERE usesysid > 1; usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig ------------+----------+-------------+----------+-----------+----------+----------+----------- awsuser | 100 | true | true | false | ******** | | guest | 104 | true | false | false | ******** | |

Lihat pertanyaan terbaru

Pada contoh sebelumnya, ID pengguna (user_id) untuk adminuser adalah 100. Untuk membuat daftar empat kueri terbaru yang dijalankanadminuser, Anda dapat menanyakan HISTORY tampilan SYS _ QUERY _.

Anda dapat menggunakan tampilan ini untuk menemukan ID kueri (query_id) atau ID proses (session_id) untuk kueri yang baru saja dijalankan. Anda juga dapat menggunakan tampilan ini untuk memeriksa berapa lama waktu yang dibutuhkan kueri untuk diselesaikan. SYS_ QUERY _ HISTORY menyertakan 4.000 karakter pertama dari string kueri (query_text) untuk membantu Anda menemukan kueri tertentu. Gunakan LIMIT klausa dengan SELECT pernyataan Anda untuk membatasi hasil.

SELECT query_id, session_id, elapsed_time, query_text FROM sys_query_history WHERE user_id = 100 ORDER BY start_time desc LIMIT 4;

Hasilnya terlihat seperti berikut ini.

query_id | session_id | elapsed_time | query_text ----------+--------------+---------------+---------------------------------------------------------------- 892 | 21046 | 55868 | SELECT query, pid, elapsed, substring from ... 620 | 17635 | 1296265 | SELECT query, pid, elapsed, substring from ... 610 | 17607 | 82555 | SELECT * from DEMO; 596 | 16762 | 226372 | INSERT INTO DEMO VALUES (100);

Tentukan ID sesi dari kueri yang sedang berjalan

Untuk mengambil informasi tabel sistem tentang kueri, Anda mungkin perlu menentukan ID sesi (ID proses) yang terkait dengan kueri tersebut. Atau, Anda mungkin perlu menemukan ID sesi untuk kueri yang masih berjalan. Misalnya, Anda memerlukan ID sesi jika Anda perlu membatalkan kueri yang terlalu lama untuk dijalankan di klaster yang disediakan. Anda dapat menanyakan tabel RECENTS sistem STV _ untuk mendapatkan daftar sesi IDs untuk menjalankan kueri, bersama dengan string kueri yang sesuai. Jika kueri Anda mengembalikan beberapa sesi, Anda dapat melihat teks kueri untuk menentukan ID sesi mana yang Anda butuhkan.

Untuk menentukan ID sesi dari kueri yang sedang berjalan, jalankan SELECT pernyataan berikut.

SELECT session_id, user_id, start_time, query_text FROM sys_query_history WHERE status='running';