ALTER DATABASE - Amazon Redshift

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

ALTER DATABASE

Mengubah atribut database.

Hak istimewa yang diperlukan

Untuk menggunakan ALTERDATABASE, salah satu hak istimewa berikut diperlukan..

  • Superuser

  • Pengguna dengan hak ALTER DATABASE istimewa

  • Pemilik database

Sintaks

ALTER DATABASE database_name { RENAME TO new_name | OWNER TO new_owner | CONNECTION LIMIT { limit | UNLIMITED } | COLLATE { CASE_SENSITIVE | CASE_INSENSITIVE } | ISOLATION LEVEL { SERIALIZABLE | SNAPSHOT } | INTEGRATION {{SET REFRESH_INTERVAL <interval>} | REFRESH {{ ALL | INERROR } TABLES [IN SCHEMA schema [, ...]] | TABLE schema.table [, ...]}} }

Parameter

database_name

Nama database untuk diubah. Biasanya, Anda mengubah database yang saat ini tidak terhubung dengan Anda; dalam hal apapun, 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
RENAMEUNTUK

Mengganti nama database yang ditentukan. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal. Anda tidak dapat mengganti nama database dev, padb_harvest, template0, template1, atau sys:internal, dan Anda tidak dapat mengganti nama database saat ini. Hanya pemilik database atau yang superuser dapat mengganti nama database; pemilik non-superuser juga harus memiliki hak istimewa. CREATEDB

new_name

Nama database baru.

OWNERUNTUK

Mengubah pemilik database yang ditentukan. Anda dapat mengubah pemilik database saat ini atau beberapa database lainnya. Hanya superuser yang bisa mengubah pemiliknya.

new_owner

Pemilik database baru. Pemilik baru harus menjadi pengguna database yang sudah ada dengan hak istimewa menulis. Untuk informasi selengkapnya tentang hak istimewa pengguna, lihatGRANT.

CONNECTIONLIMIT{batas |UNLIMITED}

Jumlah maksimum koneksi database pengguna diizinkan untuk membuka secara bersamaan. Batas tidak diberlakukan untuk pengguna super. Gunakan UNLIMITED kata kunci untuk memungkinkan jumlah maksimum koneksi bersamaan. Batas jumlah koneksi untuk setiap pengguna mungkin juga berlaku. Untuk informasi selengkapnya, lihat CREATE USER. Defaultnya adalahUNLIMITED. Untuk melihat koneksi saat ini, kueri tampilan STV_SESSIONS sistem.

catatan

Jika batas koneksi pengguna dan basis data berlaku, slot koneksi yang tidak digunakan harus tersedia yang berada dalam kedua batas saat pengguna mencoba untuk terhubung.

COLLATE { CASE_SENSITIVE | CASE_INSENSITIVE }

Klausa yang menentukan apakah pencarian string atau perbandingan bersifat case-sensitive atau case-insensitive.

Anda dapat mengubah sensitivitas kasus dari database saat ini yang kosong.

Anda harus memiliki hak istimewa untuk database saat ini untuk mengubah sensitivitas kasus. Superuser atau pemilik database dengan CREATE DATABASE hak istimewa juga dapat mengubah sensitivitas kasus database.

ISOLATION LEVEL { SERIALIZABLE | SNAPSHOT }

Sebuah klausa yang menentukan tingkat isolasi yang digunakan ketika query dijalankan terhadap database.

  • SERIALIZABLEisolasi — menyediakan serialisasi penuh untuk transaksi bersamaan. Untuk informasi selengkapnya, lihat Isolasi yang dapat diserialisasi.

  • SNAPSHOTisolasi — memberikan tingkat isolasi dengan perlindungan terhadap pembaruan dan penghapusan konflik.

Untuk informasi lebih lanjut tentang tingkat isolasi, lihatCREATE DATABASE.

Pertimbangkan item berikut saat mengubah tingkat isolasi database:

  • Anda harus memiliki superuser atau CREATE DATABASE hak istimewa untuk 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 tingkat isolasi alter gagal jika pengguna lain terhubung ke database.

  • Perintah tingkat isolasi alter dapat mengubah pengaturan tingkat isolasi sesi saat ini.

INTEGRATIONREFRESH{{ALL|INERROR} TABLES [DALAM SCHEMA skema [,...]] | TABLE schema.table [,...]}

Klausa yang menentukan apakah Amazon Redshift akan menyegarkan semua tabel atau tabel dengan kesalahan dalam skema atau tabel yang ditentukan. Penyegaran akan memicu tabel dalam skema atau tabel yang ditentukan untuk sepenuhnya direplikasi dari database sumber.

Untuk informasi selengkapnya, lihat Bekerja dengan nol ETL integrasi di Panduan Manajemen Pergeseran Merah Amazon. Untuk informasi selengkapnya tentang status integrasi, lihat SVV_INTEGRATION_TABLE_STATE danSVV_INTEGRATION.

INTEGRATION{SETREFRESH_ INTERVAL<interval>}

INTERVALKlausa SET REFRESH _ menetapkan perkiraan interval waktu, dalam detik, untuk menyegarkan data dari ETL sumber nol ke database target. Nilai dapat diatur 0—432.000 detik (5 hari) untuk nol- ETL integrasi yang tipe sumbernya adalah Aurora My, Aurora PostgreSQL, atau untuk My. SQL RDS SQL

Untuk informasi selengkapnya tentang membuat database dengan nol ETL integrasi, lihat Membuat database tujuan di Amazon Redshift di Panduan Manajemen Pergeseran Merah Amazon.

Catatan penggunaan

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

Contoh

Contoh berikut mengganti nama database bernama TICKIT _ menjadi _SANDBOX: TICKIT TEST

alter database tickit_sandbox rename to tickit_test;

Contoh berikut mengubah pemilik TICKIT database (database saat ini) menjadiDWUSER:

alter database tickit owner to dwuser;

Contoh berikut mengubah sensitivitas kasus database database sampledb:

ALTER DATABASE sampledb COLLATE CASE_INSENSITIVE;

Contoh berikut mengubah database bernama sampledb dengan tingkat SNAPSHOT isolasi.

ALTER DATABASE sampledb ISOLATION LEVEL SNAPSHOT;

Contoh berikut menyegarkan tabel schema1.sample_table1 dan schema2.sample_table2 dalam database sample_integration_db dalam nol- ETL integrasi Anda.

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

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

ALTER DATABASE sample_integration_db INTEGRATION REFRESH ALL tables;

Contoh berikut menetapkan interval refresh untuk nol- ETL integrasi ke 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;