BUAT TEMPLATE - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs 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.

BUAT TEMPLATE

Membuat template yang dapat digunakan kembali untuk perintah Amazon Redshift seperti. MENYONTEK Template menyimpan parameter yang umum digunakan yang dapat direferensikan di beberapa eksekusi perintah, meningkatkan konsistensi dan mengurangi spesifikasi parameter manual.

Template menghilangkan kebutuhan untuk berulang kali menentukan parameter pemformatan yang sama di beberapa operasi, sementara jalur sumber, tabel target, dan otorisasi dapat bervariasi antar operasi.

Hak istimewa yang diperlukan

Untuk membuat template, Anda harus memiliki salah satu dari berikut ini:

  • Hak istimewa pengguna super

  • BUAT izin pada skema tempat Anda ingin membuat templat, atau BUAT izin cakupan pada skema di database tempat Anda ingin membuat templat

Sintaksis

CREATE [ OR REPLACE ] TEMPLATE [database_name.][schema_name.]template_name FOR COPY [ AS ] [ [ FORMAT ] [ AS ] data_format ] [ parameter [ argument ] [ , ... ] ];

Parameter

ATAU GANTI

Jika template dengan nama yang sama sudah ada dalam database dan skema yang ditentukan, template yang ada diganti. Anda hanya dapat mengganti template dengan template baru yang mendefinisikan jenis operasi yang sama, misalnya, COPY. Anda harus memiliki hak istimewa yang diperlukan untuk mengganti template.

database_name

(Opsional) Nama database tempat template akan dibuat. Jika tidak ditentukan, template dibuat dalam database saat ini.

Jika database atau skema tidak ada, template tidak dibuat, dan pernyataan mengembalikan kesalahan. Anda tidak dapat membuat template dalam database sistemtemplate0,, template1padb_harvest, atausys:internal.

schema_name

(Opsional) Nama skema tempat template akan dibuat. Jika tidak ditentukan, template dibuat dalam skema saat ini.

Jika nama skema diberikan, template baru dibuat dalam skema itu (dengan asumsi pencipta memiliki akses ke skema). Nama template harus menjadi nama unik untuk skema itu.

template_name

Nama template yang akan dibuat. Secara opsional, nama template dapat dikualifikasikan dengan database dan nama skema. Dalam contoh berikut, nama database adalahdemo_database, nama skemademo_schema, dan nama template adalahtest. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengidentifikasi.

CREATE TEMPLATE demo_database.demo_schema.test FOR COPY AS CSV;
MENYONTEK

Menentukan jenis perintah Redshift yang template dibuat. Saat ini, hanya perintah COPY yang didukung.

[[FORMAT] [AS] data_format]

Ini adalah parameter opsional. Ini menentukan format data untuk operasi COPY.

[parameter [argumen]]

Parameter apa pun yang valid untuk perintah pergeseran merah yang ditentukan.

Misalnya, template untuk perintah COPY dapat mencakup:

Untuk daftar lengkap parameter yang didukung, lihat MENYONTEK perintah.

Catatan penggunaan

  • Secara default, semua pengguna memiliki hak CREATE dan USE pada skema PUBLIC. Untuk melarang pengguna membuat objek dalam skema PUBLIK database, gunakan perintah REVOKE untuk menghapus hak istimewa itu.

  • Ketika parameter ada di template dan perintah, parameter perintah diutamakan.

  • Template adalah objek database dan mengikuti aturan penamaan dan izin objek Redshift standar. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengidentifikasi.

  • Template tidak dapat berisi spesifikasi file manifes untuk MENYONTEK perintah.

Batasan

  • Setidaknya satu parameter harus ditentukan saat membuat template.

  • Parameter yang dikecualikan — Parameter khusus perintah seperti jalur sumber, tabel target, kredensyal otorisasi, dan spesifikasi file manifes tidak dapat disertakan dalam templat. Parameter ini harus ditentukan dalam perintah yang sebenarnya.

  • Template maksimum per cluster - Anda dapat membuat maksimal 1.000 template per cluster. Batas ini berlaku untuk jumlah total template di semua database dan skema di cluster.

  • Referensi lintas basis data — Template tidak dapat direferensikan di seluruh database.

  • Berbagi data - Template tidak dapat dimasukkan dalam pembagian data. Template harus dibuat secara terpisah di setiap cluster di mana mereka dibutuhkan.

Contoh

Contoh berikut membuat template untuk perintah COPY

CREATE TEMPLATE test_schema.demo_template FOR COPY AS FORMAT JSON 'auto' NULL AS '' MAXERROR 100;

Gunakan TAMPILKAN TEMPLATE untuk mendapatkan definisi template:

SHOW TEMPLATE test_schema.demo_template; CREATE OR REPLACE TEMPLATE dev.test_schema.demo_template FOR COPY AS FORMAT AS JSON 'auto' NULL '' MAXERROR 100;

Kueri tampilan SYS_REDSHIFT_TEMPLATE sistem untuk mendapatkan detail lebih lanjut tentang template.

SELECT * FROM SYS_REDSHIFT_TEMPLATE; database_name | schema_name | template_name | template_type | create_time | last_modified_time | owner_id | last_modified_by | template_parameters ---------------+-------------+---------------+---------------+----------------------------+----------------------------+----------+------------------+--------------------- dev | test_schema | demo_template | 1 | 2025-12-17 20:06:01.944171 | 2025-12-17 20:06:01.944171 | 1 | 1 | { "JSON": "auto", "MAXERROR": 100, "NULL": "" }