SYS_QUERY_TEXT - Amazon Redshift

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

SYS_QUERY_TEXT

Gunakan SYS_QUERY_TEXT untuk melihat teks kueri dari semua kueri. Setiap baris mewakili teks kueri kueri hingga 4000 karakter dimulai dengan nomor urut 0. Ketika pernyataan kueri berisi lebih dari 4000 karakter, baris tambahan dicatat untuk pernyataan dengan menambah nomor urut untuk setiap baris. Tampilan ini mencatat semua teks kueri pengguna seperti DDL, utilitas, kueri Amazon Redshift, dan kueri leader-node saja.

SYS_QUERY_TEXT dapat dilihat oleh semua pengguna. Pengguna super dapat melihat semua baris; pengguna biasa hanya dapat melihat data mereka sendiri. Untuk informasi selengkapnya, lihat Visibilitas data dalam tabel dan tampilan sistem.

Kolom tabel

Nama kolom Jenis data Deskripsi
user_id integer Pengidentifikasi pengguna yang mengirimkan kueri.
query_id bigint Pengidentifikasi kueri.
transaction_id bigint Pengidentifikasi transaksi yang terkait dengan pernyataan tersebut.
session_id integer Pengidentifikasi proses sesi yang menjalankan kueri.
start_time timestamp Waktu ketika kueri dimulai.
urutan integer Ketika satu pernyataan berisi lebih dari 4000 karakter, baris tambahan dicatat untuk pernyataan tersebut. Urutan 0 adalah baris pertama, 1 adalah baris kedua, dan seterusnya.
text karakter (4000) Teks query SQL yang dalam peningkatan 4000-karakter. Bidang ini mungkin berisi karakter khusus, seperti garis miring terbalik (\) dan baris baru (\n).

Kueri Sampel

Query berikut mengembalikan query berjalan dan antrian.

SELECT user_id, query_id, transaction_id, session_id, start_time, sequence, trim(text) as text from sys_query_text ORDER BY sequence;

Keluaran sampel.

user_id | query_id | transaction_id | session_id | start_time | sequence | text --------+----------+-----------------+------------+----------------------------+----------+---------------------------------------------------------------------------------------------------------------------- 100 | 4 | 1396 | 1073750220 | 2023-04-28 16:44:55.887184 | 0 | SELECT trim(text) as text, sequence FROM sys_query_text WHERE query_id = pg_last_query_id() AND user_id > 1 AND start _time > '2023-04-28 16:44:55.922705+00:00'::timestamp order by sequence;

Kueri berikut mengembalikan izin yang telah diberikan atau dicabut dari grup dalam database Anda.

SELECT SPLIT_PART(text, ' ', 1) as grantrevoke, SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'GROUP'))), ' ', 2) as group, SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), ' '))), 'ON', 1) as type, SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'ON'))), ' ', 2) || ' ' || SPLIT_PART((SUBSTRING(text, STRPOS(UPPER(text), 'ON'))), ' ', 3) as entity FROM SYS_QUERY_TEXT WHERE (text LIKE 'GRANT%' OR text LIKE 'REVOKE%') AND text LIKE '%GROUP%'; +-------------+----------+--------+----------+ | grantrevoke | group | type | entity | +-------------+----------+--------+----------+ | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | USAGE | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | | GRANT | bi_group | SELECT | TABLE t1 | +-------------+----------+--------+----------+