View a markdown version of this page

ALTER DATA - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

ALTER DATA

Mengubah definisi datashare. Anda dapat menambahkan objek atau menghapus objek menggunakan ALTER DATASHARE. Anda hanya dapat mengubah datashare di database saat ini. Tambahkan atau hapus objek dari database terkait ke datashare. Pemilik datashare dengan izin yang diperlukan pada objek datashare yang akan ditambahkan atau dihapus dapat mengubah datashare.

Hak istimewa yang diperlukan

Berikut ini adalah hak istimewa yang diperlukan untuk ALTER DATASHARE:

  • Pengguna super.

  • Pengguna dengan hak istimewa ALTER DATASHARE.

  • Pengguna yang memiliki hak istimewa ALTER atau ALL pada datashare.

  • Untuk menambahkan objek tertentu ke datashare, pengguna harus memiliki hak istimewa pada objek. Untuk kasus ini, pengguna harus menjadi pemilik objek atau memiliki hak istimewa SELECT, USAGE, atau ALL pada objek.

Sintaksis

Sintaks berikut menggambarkan cara menambah atau menghapus objek ke datashare.

ALTER DATASHARE datashare_name { ADD | REMOVE } {
TABLE schema.table [, ...]
| SCHEMA schema [, ...]
| FUNCTION schema.sql_udf (argtype,...) [, ...]
| ALL TABLES IN SCHEMA schema [, ...]
| ALL FUNCTIONS IN SCHEMA schema [, ...] }

Sintaks berikut menggambarkan cara mengkonfigurasi properti datashare.

ALTER DATASHARE datashare_name {
[ SET PUBLICACCESSIBLE [=] TRUE | FALSE ]
[ SET INCLUDENEW [=] TRUE | FALSE FOR SCHEMA schema ] }

Parameter

datahare_name

Nama datashare yang akan diubah.

TAMBAHKAN | HAPUS

Klausa yang menentukan apakah akan menambahkan objek ke atau menghapus objek dari datashare.

Skema TABEL. tabel [,...]

Nama tabel atau tampilan dalam skema yang ditentukan untuk ditambahkan ke datashare.

Skem a SKEMA [,...]

Nama skema yang akan ditambahkan ke datashare.

Skema FUNGSI. sql_udf (tipe arg,...) [,...]

Nama fungsi SQL yang ditentukan pengguna dengan tipe argumen untuk ditambahkan ke datashare.

SEMUA TABEL DALAM skema SK EMA [,...]

Klausa yang menentukan apakah akan menambahkan semua tabel dan tampilan dalam skema yang ditentukan ke datashare.

SEMUA FUNGSI DALAM SK EMA SKEMA [,...]}

Klausa yang menentukan menambahkan semua fungsi dalam skema yang ditentukan ke datashare.

[SETEL PUBLICAVAILABLE [=] BENAR | SALAH]

Klausa yang menentukan apakah datashare dapat dibagikan ke cluster yang dapat diakses publik.

[SET INCLUDENEW [=] BENAR | SALAH UNTUK SKEMA SKEMA]

Klausa yang menentukan apakah akan menambahkan tabel masa depan, tampilan, atau fungsi yang ditentukan pengguna SQL (UDF) yang dibuat dalam skema yang ditentukan ke datashare. Tabel saat ini, tampilan, atau UDF SQL dalam skema yang ditentukan tidak ditambahkan ke datashare. Hanya pengguna super yang dapat mengubah properti ini untuk setiap pasangan datashare-schema. Secara default, klausa INCLUDENEW adalah false.

Catatan penggunaan ALTER DATASHARE

  • Pengguna berikut dapat mengubah datashare:

    • Seorang pengguna super

    • Pemilik datashare

    • Pengguna yang memiliki hak istimewa ALTER atau ALL di datashare

  • Untuk menambahkan objek tertentu ke datashare, pengguna harus memiliki hak istimewa yang benar pada objek. Pengguna harus menjadi pemilik objek atau memiliki hak istimewa SELECT, USAGE, atau ALL pada objek.

  • Anda dapat berbagi skema, tabel, tampilan reguler, tampilan pengikatan terlambat, tampilan terwujud, dan fungsi yang ditentukan pengguna SQL (UDF). Tambahkan skema ke datashare terlebih dahulu sebelum menambahkan objek dalam skema.

    Saat Anda menambahkan skema, Amazon Redshift tidak menambahkan semua objek di bawahnya. Anda harus menambahkannya secara eksplisit.

  • Sebaiknya buat berbagi AWS Data Exchange data dengan pengaturan yang dapat diakses publik diaktifkan.

  • Secara umum, kami menyarankan agar Anda tidak mengubah AWS Data Exchange datashare untuk mematikan aksesibilitas publik menggunakan pernyataan ALTER DATASHARE. Jika Anda melakukannya, mereka Akun AWS yang memiliki akses ke datashare kehilangan akses jika cluster mereka dapat diakses publik. Melakukan perubahan jenis ini dapat melanggar ketentuan produk data AWS Data Exchange. Untuk pengecualian untuk rekomendasi ini, lihat berikut.

    Contoh berikut menunjukkan kesalahan saat AWS Data Exchange datashare dibuat dengan pengaturan dimatikan.

    ALTER DATASHARE salesshare SET PUBLICACCESSIBLE FALSE; ERROR: Alter of ADX-managed datashare salesshare requires session variable datashare_break_glass_session_var to be set to value 'c670ba4db22f4b'

    Untuk mengizinkan perubahan AWS Data Exchange datashare untuk mematikan pengaturan yang dapat diakses publik, atur variabel berikut dan jalankan pernyataan ALTER DATASHARE lagi.

    SET datashare_break_glass_session_var to 'c670ba4db22f4b';
    ALTER DATASHARE salesshare SET PUBLICACCESSIBLE FALSE;

    Dalam hal ini, Amazon Redshift menghasilkan nilai satu kali acak untuk menyetel variabel sesi agar memungkinkan ALTER DATASHARE SET PUBLICACESSIBLE FALSE untuk datashare. AWS Data Exchange

Contoh

Contoh berikut menambahkan public skema ke datasharesalesshare.

ALTER DATASHARE salesshare ADD SCHEMA public;

Contoh berikut menambahkan public.tickit_sales_redshift tabel ke datasharesalesshare.

ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;

Contoh berikut menambahkan semua tabel ke datasharesalesshare.

ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;

Contoh berikut menghapus public.tickit_sales_redshift tabel dari datasharesalesshare.

ALTER DATASHARE salesshare REMOVE TABLE public.tickit_sales_redshift;