

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

Mengubah atribut database.

## Hak istimewa yang diperlukan
<a name="r_ALTER_DATABASE-privileges"></a>

Untuk menggunakan ALTER DATABASE, salah satu hak istimewa berikut diperlukan..
+ Superuser
+ Pengguna dengan hak istimewa ALTER DATABASE
+ Pemilik database

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

```
ALTER DATABASE database_name
{ 
  RENAME TO new_name
  | OWNER TO new_owner
  | [ CONNECTION LIMIT { limit | UNLIMITED } ]
    [ COLLATE { CASE_SENSITIVE | CS | CASE_INSENSITIVE | CI } ]
    [ ISOLATION LEVEL { SNAPSHOT | SERIALIZABLE } ]
| INTEGRATION
 { 
  REFRESH { { ALL | INERROR } TABLES [ IN SCHEMA schema [, ...] ] | TABLE schema.table [, ...] }
   | SET 
     [ QUERY_ALL_STATES [=] { TRUE | FALSE } ] 
     [ ACCEPTINVCHARS [=] { TRUE | FALSE } ] 
     [ REFRESH_INTERVAL <interval> ]
     [ TRUNCATECOLUMNS [=] { TRUE | FALSE } ]
     [ HISTORY_MODE [=] {TRUE | FALSE} [ FOR { {ALL} TABLES [IN SCHEMA schema [, ...] ] | TABLE schema.table [, ...] } ] ]
 }
}
```

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

 *database\_name*   
Nama database yang akan diubah. Biasanya, Anda mengubah database yang saat ini tidak terhubung; dalam hal apa pun, perubahan hanya berlaku di sesi berikutnya. Anda dapat mengubah pemilik database saat ini, tetapi Anda tidak dapat mengganti namanya:  

```
alter database tickit rename to newtickit;
ERROR:  current database may not be renamed
```

GANTI NAMA MENJADI   
Mengganti nama database yang ditentukan. Untuk informasi selengkapnya tentang nama yang valid, lihat[Nama dan pengenal](r_names.md). Anda tidak dapat mengganti nama dev, padb\_harvest, template0, template1, atau sys:internal database, dan Anda tidak dapat mengganti nama database saat ini. Hanya pemilik database atau a yang [superuser](r_superusers.md#def_superusers) dapat mengganti nama database; pemilik non-superuser juga harus memiliki hak istimewa CREATEDB.

 *nama\_baru *   
Nama database baru.

PEMILIK UNTUK   
Mengubah pemilik database yang ditentukan. Anda dapat mengubah pemilik database saat ini atau beberapa database lainnya. Hanya pengguna super yang dapat mengubah pemilik.

 *pemilik baru *   
Pemilik database baru. Pemilik baru harus pengguna database yang ada dengan hak menulis. Untuk informasi selengkapnya tentang hak pengguna, lihat[HIBAH](r_GRANT.md).

BATAS KONEKSI {*limit * \| TIDAK TERBATAS}   
Jumlah maksimum koneksi database pengguna diizinkan untuk membuka secara bersamaan. Batas tidak diberlakukan untuk pengguna super. Gunakan kata kunci UNLIMITED untuk mengizinkan jumlah maksimum koneksi bersamaan. Batas jumlah koneksi untuk setiap pengguna mungkin juga berlaku. Untuk informasi selengkapnya, lihat [BUAT PENGGUNA](r_CREATE_USER.md). Defaultnya adalah UNLIMITED. Untuk melihat koneksi saat ini, kueri [STV\_SESSION](r_STV_SESSIONS.md) tampilan sistem.  
Jika batas koneksi pengguna dan database berlaku, slot koneksi yang tidak digunakan harus tersedia yang berada dalam kedua batas saat pengguna mencoba menyambung.

SUSUN {CASE\_SENSITIVE \| CS \| CASE\_INSENSITIVE \| CI}  
Klausa yang menentukan apakah pencarian atau perbandingan string peka huruf besar-kecil atau tidak peka huruf besar-kecil.   
Anda dapat mengubah sensitivitas huruf besar dari database saat ini meskipun kosong.  
Anda harus memiliki izin ALTER untuk database saat ini untuk mengubah sensitivitas huruf besar/kecil. Superuser atau pemilik database dengan izin CREATE DATABASE juga dapat mengubah sensitivitas huruf besar database.  
CASE\_SENSITIVE dan CS dapat dipertukarkan dan menghasilkan hasil yang sama. Demikian pula, CASE\_INSENSITIVE dan CI dapat dipertukarkan dan menghasilkan hasil yang sama.  
Untuk memeriksa kolasi database saat ini, gunakan [DB\_COLLATION](r_DB_COLLATION.md) fungsi.

TINGKAT ISOLASI {SNAPSHOT \| DAPAT DISERIALKAN}  
Klausa yang menentukan tingkat isolasi yang digunakan ketika query dijalankan terhadap database. Untuk informasi lebih lanjut tentang tingkat isolasi, lihat[Tingkat isolasi di Amazon Redshift](c_serial_isolation.md).  
+ Isolasi SNAPSHOT — menyediakan tingkat isolasi dengan perlindungan terhadap konflik pembaruan dan penghapusan. 
+ Isolasi SERIALIZABLE - menyediakan serialisasi penuh untuk transaksi bersamaan.
Pertimbangkan item berikut saat mengubah tingkat isolasi database:  
+ Anda harus memiliki hak istimewa superuser atau CREATE DATABASE ke database saat ini untuk mengubah tingkat isolasi database.
+ Anda tidak dapat mengubah tingkat isolasi `dev` database. 
+ Anda tidak dapat mengubah tingkat isolasi dalam blok transaksi.
+ Perintah ubah tingkat isolasi gagal jika pengguna lain terhubung ke database.
+ Perintah ubah level isolasi dapat mengubah pengaturan tingkat isolasi sesi saat ini.

INTEGRASI  
Mengubah database integrasi Zero-ETL.

REFRESH {{ALL \| INERROR} TABEL [DALAM * skema SKEMA * [,...]] \| TABEL * schema.table * [,...]}  
Klausa yang menentukan apakah Amazon Redshift akan menyegarkan semua tabel atau tabel dengan kesalahan dalam skema atau tabel yang ditentukan. Refresh akan memicu tabel dalam skema atau tabel yang ditentukan untuk sepenuhnya direplikasi dari database sumber.  
Untuk informasi selengkapnya, lihat [ Zero-ETL integrasi ](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.html) di Panduan Manajemen * Amazon Redshift. * Untuk informasi lebih lanjut tentang status integrasi, lihat [SVV\_INTEGRATION\_TABLE\_STATE](r_SVV_INTEGRATION_TABLE_STATE.md) dan[SVV\_INTEGRASI](r_SVV_INTEGRATION.md).

QUERY\_ALL\_STATES [=] {BENAR \| SALAH}  
Klausa QUERY\_ALL\_STATES menetapkan apakah tabel integrasi Zero-ETL dapat ditanyakan di semua status (,,, dan). `Synced` `Failed` `ResyncRequired` `ResyncInitiated` Secara default, tabel integrasi Zero-ETL hanya dapat ditanyakan dalam status. `Synced`

ACCEPTINVCHARS [=] {BENAR \| SALAH}  
Klausa ACCEPTINVCHARS menetapkan apakah tabel integrasi Zero-ETL berlanjut dengan penyerapan ketika karakter tidak valid terdeteksi untuk tipe data VARCHAR. Ketika karakter tidak valid ditemukan, karakter yang tidak valid diganti dengan `?` karakter default.

REFRESH\_INTERVAL <interval>  
Klausa REFRESH\_INTERVAL menetapkan perkiraan interval waktu, dalam detik, yang ditunggu Amazon Redshift setelah siklus refresh selesai untuk memulai siklus berikutnya. Setiap siklus menyegarkan data dari sumber integrasi Zero-ETL ke database target, menerapkan semua akumulasi perubahan sejak akhir siklus sebelumnya. Nilai 0 memulai siklus berikutnya segera setelah siklus sebelumnya selesai (replikasi hampir real-time). Nilai ruang yang lebih tinggi berputar lebih jauh, mengurangi overhead penyegaran dengan mengorbankan kesegaran data langsung. Amazon Redshift menunggu di antara siklus hanya ketika konsumsi telah menyusul; ketika perubahan menumpuk lebih cepat daripada yang dapat diterapkan, siklus berjalan tanpa menunggu.  
`interval`Dapat diatur ke 0-432.000 detik (5 hari) untuk integrasi Zero-ETL yang tipe sumbernya adalah Aurora MySQL, Aurora PostgreSQL, atau mesin RDS yang didukung, dan defaultnya adalah 0. Untuk integrasi Amazon DynamoDB Zero-ETL, `interval` dapat diatur ke 900—432.000 detik (15 menit—5 hari), dan defaultnya adalah 900 detik (15 menit); 0 tidak didukung.  
Untuk integrasi penulisan intensif selain DynamoDB yang menghasilkan volume perubahan yang tinggi, atur REFRESH\_INTERVAL ke nilai kecil bukan nol (misalnya, 60-120 detik). Mengelompokkan lebih banyak perubahan ke dalam setiap siklus mengurangi keseluruhan overhead komputasi replikasi.
Untuk informasi selengkapnya tentang membuat database dengan integrasi Zero-ETL, lihat [ Membuat database tujuan di Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html) di Panduan Manajemen * Amazon Redshift. *

TRUNCATECOLUMNS [=] {BENAR \| SALAH}  
Klausa TRUNCATECOLUMNS menetapkan apakah tabel integrasi Zero-ETL berlanjut dengan penyerapan ketika nilai untuk kolom VARCHAR atau atribut kolom SUPER berada di luar batas. Ketika`TRUE`, nilai-nilai dipotong agar sesuai dengan kolom dan nilai atribut JSON yang meluap dipotong agar sesuai dengan kolom SUPER.

HISTORY\_MODE [=] {TRUE \| FALSE} [UNTUK {{SEMUA} TABEL [DALAM SKEMA SKEMA [,...]] \| TABEL schema.table [,...]}]  
Klausa yang menentukan apakah Amazon Redshift akan menyetel mode riwayat untuk semua tabel atau tabel dalam skema tertentu yang berpartisipasi dalam integrasi Zero-ETL. Opsi ini hanya berlaku untuk database yang dibuat untuk integrasi Zero-ETL.  
Klausa HISTORY\_MODE dapat diatur ke `TRUE` atau. `FALSE` Nilai default-nya `FALSE`. Mengaktifkan dan menonaktifkan mode riwayat hanya berlaku untuk tabel yang berada dalam `Synced` status. Untuk informasi tentang HISTORY\_MODE, lihat Mode [ Riwayat ](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-history-mode.html) di Panduan Manajemen * Amazon Redshift. *

## Catatan penggunaan
<a name="r_ALTER_DATABASE-usage-notes"></a>

Perintah ALTER DATABASE berlaku untuk sesi berikutnya bukan sesi saat ini. Anda harus menyambung kembali ke database yang diubah untuk melihat efek perubahan.

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

Contoh berikut mengganti nama database bernama TICKIT\_SANDBOX menjadi TICKIT\_TEST: 

```
alter database tickit_sandbox rename to tickit_test;
```

Contoh berikut mengubah pemilik database TICKIT (database saat ini) menjadi DWUSER: 

```
alter database tickit owner to dwuser;
```

Contoh berikut mengubah sensitivitas huruf besar database dari database sampledb:

```
ALTER DATABASE sampledb COLLATE CASE_INSENSITIVE;
```

Contoh berikut mengubah database bernama **sampledb** dengan tingkat isolasi SNAPSHOT.

```
ALTER DATABASE sampledb ISOLATION LEVEL SNAPSHOT;
```

Contoh berikut menyegarkan tabel **schema1.sample\_table1** dan **schema2.sample\_table2** dalam database **sample\_integration\_db** dalam integrasi Zero-ETL Anda.

```
ALTER DATABASE sample_integration_db INTEGRATION REFRESH TABLE schema1.sample_table1, schema2.sample_table2;
```

Contoh berikut menyegarkan semua tabel yang disinkronkan dan gagal dalam integrasi Zero-ETL Anda.

```
ALTER DATABASE sample_integration_db INTEGRATION REFRESH ALL tables;
```

Contoh berikut menetapkan interval refresh untuk integrasi Zero-ETL menjadi 600 detik..

```
ALTER DATABASE sample_integration_db INTEGRATION SET REFRESH_INTERVAL 600;
```

Contoh berikut menyegarkan semua tabel yang ada di `ErrorState` dalam skema**sample\_schema**.

```
ALTER DATABASE sample_integration_db INTEGRATION REFRESH INERROR TABLES in SCHEMA sample_schema;
```

Contoh berikut mengaktifkan mode riwayat untuk tabel`myschema.table1`.

```
ALTER DATABASE sample_integration_db INTEGRATION SET HISTORY_MODE = true FOR TABLE myschema.table1
```

Contoh berikut mengaktifkan mode riwayat untuk semua tabel di`myschema`. 

```
ALTER DATABASE sample_integration_db INTEGRATION SET HISTORY_MODE = true for ALL TABLES IN SCHEMA myschema
```