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;