

 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](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# MENGUBAH TAMPILAN TERWUJUD
<a name="r_ALTER_MATERIALIZED_VIEW"></a>

Mengubah atribut tampilan terwujud. 

## Sintaksis
<a name="r_ALTER_MATERIALIZED_VIEW-synopsis"></a>

```
ALTER MATERIALIZED VIEW mv_name
{
AUTO REFRESH { YES | NO } 
| ALTER DISTKEY column_name
| ALTER DISTSTYLE ALL
| ALTER DISTSTYLE EVEN
| ALTER DISTSTYLE KEY DISTKEY column_name
| ALTER DISTSTYLE AUTO
| ALTER [COMPOUND] SORTKEY ( column_name [,...] )
| ALTER SORTKEY AUTO
| ALTER SORTKEY NONE
| ROW LEVEL SECURITY { ON | OFF } [ CONJUNCTION TYPE { AND | OR } ] [FOR DATASHARES]
};
```

## Parameter
<a name="r_ALTER_MATERIALIZED_VIEW-parameters"></a>

*mv\$1nama*  
Nama pandangan terwujud untuk diubah.

PENYEGARAN OTOMATIS \$1YA \$1 TIDAK\$1  
Klausa yang mengaktifkan atau menonaktifkan penyegaran otomatis tampilan yang terwujud. Untuk informasi selengkapnya tentang penyegaran otomatis tampilan terwujud, lihat[Menyegarkan tampilan yang terwujud](materialized-view-refresh.md).

MENGUBAH DISTSTYLE SEMUA  
Klausa yang mengubah gaya distribusi yang ada dari suatu relasi dengan`ALL`. Pertimbangkan hal berikut:  
+ ALTER DISTYLE, ALTER SORTKEY, dan VACUUM tidak dapat berjalan secara bersamaan pada relasi yang sama. 
  + Jika VACUUM sedang berjalan, maka menjalankan ALTER DISTYLE ALL mengembalikan kesalahan. 
  + Jika ALTER DISTYLE ALL berjalan, maka kekosongan latar belakang tidak dimulai pada relasi. 
+ Perintah ALTER DISTYLE ALL tidak didukung untuk relasi dengan kunci sortir interleaved dan tabel sementara.
+ Jika gaya distribusi sebelumnya didefinisikan sebagai AUTO, maka relasi tidak lagi menjadi kandidat untuk optimasi tabel otomatis. 
Untuk informasi lebih lanjut tentang DISTSTYLE ALL, kunjungi[BUAT TAMPILAN TERWUJUD](materialized-view-create-sql-command.md).

MENGUBAH DISTSTYLE BAHKAN  
Klausa yang mengubah gaya distribusi yang ada dari suatu relasi dengan`EVEN`. Pertimbangkan hal berikut:  
+ ALTER DISTSYTLE, ALTER SORTKEY, dan VACUUM tidak dapat berjalan secara bersamaan pada relasi yang sama. 
  + Jika VACUUM sedang berjalan, maka menjalankan ALTER DISTYLE EVEN mengembalikan kesalahan. 
  + Jika ALTER DISTYLE EVEN sedang berjalan, maka kekosongan latar belakang tidak dimulai pada relasi. 
+ Perintah ALTER DISTYLE EVEN tidak didukung untuk relasi dengan kunci sortir interleaved dan tabel sementara.
+ Jika gaya distribusi sebelumnya didefinisikan sebagai AUTO, maka relasi tidak lagi menjadi kandidat untuk optimasi tabel otomatis. 
Untuk informasi lebih lanjut tentang DISTSTYLE EVEN, kunjungi[BUAT TAMPILAN TERWUJUD](materialized-view-create-sql-command.md).

*UBAH DISTKEY *column\$1name atau ALTER DISTYLE KEY DISTYLE column\$1name**  
Klausa yang mengubah kolom yang digunakan sebagai kunci distribusi relasi. Pertimbangkan hal berikut:  
+ VACUUM dan ALTER DISTKEY tidak dapat berjalan secara bersamaan pada relasi yang sama. 
  + Jika VACUUM sudah berjalan, maka ALTER DISTKEY mengembalikan kesalahan.
  + Jika ALTER DISTKEY sedang berjalan, maka vakum latar belakang tidak dimulai pada suatu relasi.
  + Jika ALTER DISTKEY sedang berjalan, maka vakum latar depan mengembalikan kesalahan.
+ Anda hanya dapat menjalankan satu perintah ALTER DISTKEY pada relasi pada satu waktu. 
+ Perintah ALTER DISTKEY tidak didukung untuk hubungan dengan kunci pengurutan yang disisipkan. 
+ Jika gaya distribusi sebelumnya didefinisikan sebagai AUTO, maka relasi tidak lagi menjadi kandidat untuk optimasi tabel otomatis. 
Saat menentukan KUNCI DISTYLE, data didistribusikan oleh nilai-nilai di kolom DISTKEY. Untuk informasi lebih lanjut tentang DISTSTYLE, kunjungi[BUAT TAMPILAN TERWUJUD](materialized-view-create-sql-command.md).

MENGUBAH DISTSTYLE MOBIL  
Klausa yang mengubah gaya distribusi yang ada dari relasi ke AUTO.   
Saat Anda mengubah gaya distribusi ke AUTO, gaya distribusi relasi diatur ke yang berikut:   
+ Hubungan kecil dengan DISTSTYLE ALL dikonversi ke AUTO (ALL). 
+ Hubungan kecil dengan DISTSTYLE EVEN dikonversi ke AUTO (ALL). 
+ Hubungan kecil dengan DISTYLE KEY dikonversi ke AUTO (ALL). 
+ Hubungan besar dengan DISTSTYLE ALL dikonversi ke AUTO (EVEN). 
+ Hubungan besar dengan DISTSTYLE EVEN dikonversi ke AUTO (EVEN). 
+ Hubungan besar dengan DISTYLE KEY dikonversi ke AUTO (KEY) dan DISTKEY dipertahankan. Dalam hal ini, Amazon Redshift tidak membuat perubahan pada relasi.
Jika Amazon Redshift menentukan bahwa gaya distribusi atau kunci baru akan meningkatkan kinerja kueri, Amazon Redshift dapat mengubah gaya distribusi atau kunci relasi Anda di masa mendatang. Misalnya, Amazon Redshift mungkin mengonversi relasi dengan DISTSTYLE AUTO (KEY) ke AUTO (EVEN), atau sebaliknya. Untuk informasi selengkapnya tentang perilaku saat kunci distribusi diubah, termasuk redistribusi data dan kunci, buka rekomendasi [Amazon Redshift Advisor](https://docs.aws.amazon.com/redshift/latest/dg/advisor-recommendations.html#alter-diststyle-distkey-recommendation).  
Untuk informasi lebih lanjut tentang DISTSTYLE AUTO, buka. [BUAT TAMPILAN TERWUJUD](materialized-view-create-sql-command.md)   
Untuk melihat gaya distribusi relasi, kueri tampilan katalog sistem SVV\$1TABLE\$1INFO. Untuk informasi selengkapnya, kunjungi [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md). Untuk melihat rekomendasi Amazon Redshift Advisor untuk relasi, kueri tampilan katalog sistem SVV\$1ALTER\$1TABLE\$1REKOMENDASIONS. Untuk informasi selengkapnya, kunjungi [SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Untuk melihat tindakan yang diambil oleh Amazon Redshift, kueri tampilan katalog sistem SVL\$1AUTO\$1WORKER\$1ACTION. Untuk informasi selengkapnya, kunjungi [SVL\$1AUTO\$1WORKER\$1ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

UBAH [COMPOUND] SORTKEY (*column\$1name* [,...])  
Klausa yang mengubah atau menambahkan kunci pengurutan yang digunakan untuk relasi. ALTER SORTKEY tidak didukung untuk tabel sementara.  
Saat Anda mengubah kunci pengurutan, pengkodean kompresi kolom di kunci pengurutan baru atau asli dapat berubah. Jika tidak ada pengkodean yang didefinisikan secara eksplisit untuk relasi, maka Amazon Redshift secara otomatis menetapkan pengkodean kompresi sebagai berikut:  
+ Kolom yang didefinisikan sebagai kunci pengurutan diberi kompresi RAW.
+ Kolom yang didefinisikan sebagai tipe data BOOLEAN, REAL, atau DOUBLE PRECISION diberi kompresi RAW.
+ Kolom yang didefinisikan sebagai SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIME, TIMETZ, TIMESTAMP, atau TIMESTAMPTZ diberi kompresi. AZ64
+ Kolom yang didefinisikan sebagai CHAR atau VARCHAR diberi kompresi LZO.
Pertimbangkan hal berikut:  
+ Anda dapat menentukan maksimum 400 kolom untuk kunci pengurutan per relasi. 
+ Anda dapat mengubah kunci sortir yang disisipkan ke kunci sortir majemuk atau tanpa kunci pengurutan. Namun, Anda tidak dapat mengubah kunci sortir majemuk menjadi kunci sortir yang disisipkan. 
+ Jika kunci pengurutan sebelumnya didefinisikan sebagai AUTO, maka relasinya tidak lagi menjadi kandidat untuk pengoptimalan tabel otomatis. 
+ Amazon Redshift merekomendasikan penggunaan pengkodean RAW (tanpa kompresi) untuk kolom yang didefinisikan sebagai tombol pengurutan. Saat Anda mengubah kolom untuk memilihnya sebagai kunci pengurutan, kompresi kolom diubah menjadi kompresi RAW (tidak ada kompresi). Ini dapat meningkatkan jumlah penyimpanan yang dibutuhkan oleh relasi. Seberapa besar ukuran relasi meningkat tergantung pada definisi relasi spesifik dan isi relasi. Untuk informasi lebih lanjut tentang kompresi, buka[Pengkodean kompresi](c_Compression_encodings.md). 
Ketika data dimuat ke dalam relasi, data dimuat dalam urutan kunci sortir. Saat Anda mengubah kunci pengurutan, Amazon Redshift menyusun ulang data. Untuk informasi lebih lanjut tentang SORTKEY, kunjungi. [BUAT TAMPILAN TERWUJUD](materialized-view-create-sql-command.md)

MENGUBAH SORTKEY OTOMATIS  
Klausa yang mengubah atau menambahkan kunci pengurutan dari relasi target ke AUTO. ALTER SORTKEY AUTO tidak didukung untuk tabel sementara.   
Saat Anda mengubah kunci pengurutan ke AUTO, Amazon Redshift mempertahankan kunci pengurutan relasi yang ada.   
Jika Amazon Redshift menentukan bahwa kunci pengurutan baru akan meningkatkan kinerja kueri, Amazon Redshift mungkin mengubah kunci jenis relasi Anda di masa mendatang.   
Untuk informasi lebih lanjut tentang SORTKEY AUTO, buka. [BUAT TAMPILAN TERWUJUD](materialized-view-create-sql-command.md)   
Untuk melihat kunci pengurutan relasi, kueri tampilan katalog sistem SVV\$1TABLE\$1INFO. Untuk informasi selengkapnya, kunjungi [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md). Untuk melihat rekomendasi Amazon Redshift Advisor untuk relasi, kueri tampilan katalog sistem SVV\$1ALTER\$1TABLE\$1REKOMENDASIONS. Untuk informasi selengkapnya, kunjungi [SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md). Untuk melihat tindakan yang diambil oleh Amazon Redshift, kueri tampilan katalog sistem SVL\$1AUTO\$1WORKER\$1ACTION. Untuk informasi selengkapnya, kunjungi [SVL\$1AUTO\$1WORKER\$1ACTION](r_SVL_AUTO_WORKER_ACTION.md). 

UBAH SORTKEY TIDAK ADA  
Sebuah klausa yang menghapus kunci jenis dari relasi target.   
Jika kunci pengurutan sebelumnya didefinisikan sebagai AUTO, maka relasinya tidak lagi menjadi kandidat untuk pengoptimalan tabel otomatis. 

KEAMANAN TINGKAT BARIS \$1ON \$1 OFF\$1 [TIPE KONJUNGSI \$1DAN \$1 ATAU\$1] [UNTUK DATASHARES]  
Klausul yang mengaktifkan atau menonaktifkan keamanan tingkat baris untuk suatu relasi.  
Ketika keamanan tingkat baris diaktifkan untuk suatu relasi, Anda hanya dapat membaca baris yang diizinkan oleh kebijakan keamanan tingkat baris untuk Anda akses. Jika tidak ada kebijakan yang memberi Anda akses ke relasi, Anda tidak dapat melihat baris apa pun dari relasi tersebut. Hanya pengguna super dan pengguna atau peran yang memiliki peran yang dapat menyetel klausa ROW LEVEL SECURITY. `sys:secadmin` Untuk informasi selengkapnya, lihat [Keamanan tingkat baris](t_rls.md).  
+ [TIPE KONJUNGSI \$1DAN \$1 ATAU\$1] 

  Klausa yang memungkinkan Anda memilih jenis konjungsi kebijakan keamanan tingkat baris untuk suatu relasi. Ketika beberapa kebijakan keamanan tingkat baris dilampirkan ke relasi, Anda dapat menggabungkan kebijakan dengan klausa AND atau OR. Secara default, Amazon Redshift menggabungkan kebijakan RLS dengan klausa AND. Pengguna super, pengguna, atau peran yang memiliki `sys:secadmin` peran dapat menggunakan klausa ini untuk menentukan jenis konjungsi kebijakan keamanan tingkat baris untuk suatu relasi. Untuk informasi selengkapnya, lihat [Menggabungkan beberapa kebijakan per pengguna](t_rls_combine_policies.md). 
+ UNTUK DATASHARES

   Klausa yang menentukan apakah relasi yang dilindungi RLS dapat diakses melalui datashares. Secara default, relasi yang dilindungi RLS tidak dapat diakses melalui datashare. Perintah ALTER MATERIALIZED VIEW ROW LEVEL SECURITY yang dijalankan dengan klausa ini hanya memengaruhi properti aksesibilitas datashare relasi. Properti ROW LEVEL SECURITY tidak berubah.

   Jika Anda membuat relasi yang dilindungi RLS dapat diakses melalui datashares, relasi tersebut tidak memiliki keamanan tingkat baris dalam database datashared sisi konsumen. Relasi mempertahankan properti RLS di sisi produsen. 

## Contoh
<a name="r_ALTER_MATERIALIZED_VIEW-examples"></a>

Contoh berikut memungkinkan tampilan `tickets_mv` terwujud untuk disegarkan secara otomatis.

```
ALTER MATERIALIZED VIEW tickets_mv AUTO REFRESH YES
```

# Contoh DISTYLE dan SORTKEY untuk ALTER MATERIALIZED VIEW
<a name="r_ALTER_MATERIALIZED_VIEW-DISTSTYLE-SORTKEY-examples"></a>

Contoh dalam topik ini menunjukkan cara melakukan perubahan DISTSTYLE dan SORTKEY, menggunakan ALTER MATERIALIZED VIEW.

Contoh kueri berikut menunjukkan cara mengubah kolom DISTYLE KEY DISTYLE menggunakan tabel dasar sampel:

```
CREATE TABLE base_inventory(
  inv_date_sk int4 NOT NULL,
  inv_item_sk int4 NOT NULL,
  inv_warehouse_sk int4 NOT NULL,
  inv_quantity_on_hand int4
);

INSERT INTO base_inventory VALUES(1,1,1,1);

CREATE materialized VIEW inventory diststyle even AS SELECT * FROM base_inventory;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER diststyle KEY distkey inv_warehouse_sk;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER distkey inv_item_sk;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

DROP TABLE base_inventory CASCADE;
```

Ubah tampilan terwujud menjadi DISTSTYLE ALL:

```
CREATE TABLE base_inventory(
  inv_date_sk int4 NOT NULL,
  inv_item_sk int4 NOT NULL,
  inv_warehouse_sk int4 NOT NULL,
  inv_quantity_on_hand int4
);

INSERT INTO base_inventory VALUES(1,1,1,1);

CREATE materialized VIEW inventory diststyle even AS SELECT * FROM base_inventory;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

ALTER MATERIALIZED VIEW inventory ALTER diststyle ALL;
SELECT "table", diststyle FROM svv_table_info WHERE "table" = 'inventory';

DROP TABLE base_inventory CASCADE;
```

Perintah berikut menunjukkan contoh ALTER MATERIALIZED VIEW SORTKEY menggunakan tabel dasar sampel:

```
CREATE TABLE base_inventory (c0 int, c1 int);

INSERT INTO base_inventory VALUES(1,1);

CREATE materialized VIEW inventory interleaved sortkey(c0, c1) AS SELECT * FROM base_inventory;
SELECT "table", sortkey1 FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER sortkey(c0, c1);
SELECT "table", diststyle, sortkey_num FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER sortkey NONE;
SELECT "table", diststyle, sortkey_num FROM svv_table_info WHERE "table" = 'inventory';

ALTER materialized VIEW inventory ALTER sortkey(c0);
SELECT "table", diststyle, sortkey_num FROM svv_table_info WHERE "table" = 'inventory';

DROP TABLE base_inventory CASCADE;
```