Amazon Redshift tidak akan lagi mendukung pembuatan UDF Python baru mulai Patch 198. UDF Python yang ada akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tabel sistem kueri
Jika API metadata driver maupun SHOW perintah tidak memenuhi kebutuhan Anda, Anda dapat menanyakan tabel katalog PostgreSQL (), skema informasi (pg_*)information_schema, atau tampilan sistem Amazon Redshift seperti secara langsung. SVV_TABLE_INFO
Pendekatan ini berguna untuk eksplorasi ad hoc, debugging, atau tugas administratif yang Anda jalankan dari kueri SQL interaktif, misalnya di editor kueri Amazon Redshift v2 atau. psql Namun, struktur katalog sistem dapat berubah di seluruh rilis Amazon Redshift. Kami tidak menyarankan Anda mengandalkan kueri tabel sistem langsung sebagai antarmuka metadata untuk integrasi aplikasi produksi.
Saat Anda menanyakan tabel sistem, ikuti praktik berikut:
-
Tentukan database, skema, dan tabel. Untuk kinerja terbaik, sertakan nama database, nama skema, dan nama tabel dalam filter kueri Anda. Mempersempit ruang lingkup mengurangi jumlah metadata yang perlu dipindai dan dikembalikan Amazon Redshift.
-
Gunakan filter kesetaraan atau LIKE. Gunakan equality (
=) atauLIKEpredikat dalamWHEREklausa Anda untuk mempersempit hasil. Hindari kueri tanpa filter terhadap tampilan katalog yang besar. Mereka bisa lambat pada cluster dengan banyak objek. -
Hindari fungsi dalam predikat filter. Jangan gunakan fungsi seperti
LOWER()atau penggabungan string dalamWHEREklausa Anda saat Anda memfilter kueri tabel sistem. Ini mencegah pencarian metadata yang efisien dan dapat secara signifikan menurunkan kinerja kueri.
Contoh Anti-pattern vs. Pertanyaan yang Direkomendasikan
-- Avoid: SELECT * FROM svv_all_columns; -- Recommended: SELECT * FROM svv_all_columns WHERE database_name = 'dev' and schema_name = 'public' AND table_name = 'sales';
-- Avoid: SELECT * FROM svv_all_columns WHERE LOWER(schema_name) = 'public'; -- Recommended: SELECT * FROM svv_all_columns WHERE schema_name = 'public' AND table_name LIKE 'sales%';
-- Avoid: SELECT * FROM svv_all_columns WHERE database_name || '.' || schema_name || '.' || table_name = 'dev.public.sales'; -- Recommended: SELECT * FROM svv_all_columns WHERE database_name = 'dev' and schema_name = 'public' AND table_name = 'sales';
-- Avoid: SELECT * FROM svv_all_columns WHERE CONCAT(database_name, '.', schema_name) = 'dev.public'; -- Recommended: SELECT * FROM svv_all_columns WHERE database_name = 'dev' and schema_name = 'public';