Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CREATE SCHEMA
Mendefinisikan skema baru untuk database saat ini.
Hak istimewa yang diperlukan
Berikut ini adalah hak istimewa yang diperlukan untuk CREATESCHEMA:
Superuser
Pengguna dengan hak CREATE SCHEMA istimewa
Sintaks
CREATE SCHEMA [ IF NOT EXISTS ] schema_name [ AUTHORIZATION username ] [ QUOTA {quota [MB | GB | TB] | UNLIMITED} ] [ schema_element [ ... ] CREATE SCHEMA AUTHORIZATION username[ QUOTA {quota [MB | GB | TB] | UNLIMITED} ] [ schema_element [ ... ] ]
Parameter
- JIKA NOT EXISTS
-
Klausa yang menunjukkan bahwa jika skema yang ditentukan sudah ada, perintah tidak boleh membuat perubahan dan mengembalikan pesan bahwa skema itu ada, daripada berakhir dengan kesalahan.
Klausa ini berguna saat membuat skrip, sehingga skrip tidak gagal jika CREATE SCHEMA mencoba membuat skema yang sudah ada.
- schema_name
-
Nama skema baru. Nama skema tidak bisa.
PUBLIC
Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal.catatan
Daftar skema dalam parameter search_path konfigurasi menentukan prioritas objek bernama identik ketika mereka direferensikan tanpa nama skema.
- AUTHORIZATION
-
Klausul yang memberikan kepemilikan kepada pengguna tertentu.
- username
-
Nama pemilik skema.
- schema_element
-
Definisi untuk satu atau lebih objek yang akan dibuat dalam skema.
- QUOTA
-
Jumlah maksimum ruang disk yang dapat digunakan skema yang ditentukan. Ruang ini adalah penggunaan disk kolektif. Ini mencakup semua tabel permanen, tampilan terwujud di bawah skema yang ditentukan, dan salinan duplikat dari semua tabel dengan ALL distribusi pada setiap node komputasi. Kuota skema tidak memperhitungkan tabel sementara yang dibuat sebagai bagian dari namespace atau skema sementara.
Untuk melihat kuota skema yang dikonfigurasi, lihat. SVV_SCHEMA_QUOTA_STATE
Untuk melihat catatan di mana kuota skema terlampaui, lihat. STL_SCHEMA_QUOTA_VIOLATIONS
Amazon Redshift mengonversi nilai yang dipilih menjadi megabyte. Gigabytes adalah unit pengukuran default ketika Anda tidak menentukan nilai.
Anda harus menjadi superuser database untuk mengatur dan mengubah kuota skema. Pengguna yang bukan pengguna super tetapi memiliki CREATE SCHEMA izin dapat membuat skema dengan kuota yang ditentukan. Ketika Anda membuat skema tanpa menentukan kuota, skema memiliki kuota tak terbatas. Saat Anda menetapkan kuota di bawah nilai saat ini yang digunakan oleh skema, Amazon Redshift tidak mengizinkan konsumsi lebih lanjut hingga Anda mengosongkan ruang disk. DELETEPernyataan menghapus data dari tabel dan ruang disk dibebaskan hanya saat VACUUM dijalankan.
Amazon Redshift memeriksa setiap transaksi untuk pelanggaran kuota sebelum melakukan transaksi. Amazon Redshift memeriksa ukuran (ruang disk yang digunakan oleh semua tabel dalam skema) dari setiap skema yang dimodifikasi terhadap kuota yang ditetapkan. Karena pemeriksaan pelanggaran kuota terjadi pada akhir transaksi, batas ukuran dapat melebihi kuota sementara dalam transaksi sebelum dilakukan. Ketika transaksi melebihi kuota, Amazon Redshift menghentikan transaksi, melarang konsumsi berikutnya, dan mengembalikan semua perubahan hingga Anda mengosongkan ruang disk. Karena latar belakang VACUUM dan pembersihan internal, ada kemungkinan bahwa skema tidak penuh pada saat Anda memeriksa skema setelah transaksi dibatalkan.
Sebagai pengecualian, Amazon Redshift mengabaikan pelanggaran kuota dan melakukan transaksi dalam kasus-kasus tertentu. Amazon Redshift melakukan ini untuk transaksi yang hanya terdiri dari satu atau beberapa pernyataan berikut di mana tidak ada pernyataan INSERT atau COPY konsumsi dalam transaksi yang sama:
-
DELETE
-
TRUNCATE
-
VACUUM
-
DROP TABLE
-
ALTERTABLEAPPENDhanya saat memindahkan data dari skema lengkap ke skema non-penuh lainnya
-
- UNLIMITED
-
Amazon Redshift tidak membatasi pertumbuhan ukuran total skema.
Batas
Amazon Redshift memberlakukan batasan berikut untuk skema.
-
Ada maksimum 9900 skema per database.
Contoh
Contoh berikut membuat skema bernama US_ SALES dan memberikan kepemilikan kepada pengguna. DWUSER
create schema us_sales authorization dwuser;
Contoh berikut membuat skema bernama US_SALES, memberikan kepemilikan kepada penggunaDWUSER, dan menetapkan kuota ke 50 GB.
create schema us_sales authorization dwuser QUOTA 50 GB;
Untuk melihat skema baru, kueri tabel NAMESPACE katalog PG_ seperti yang ditunjukkan berikut.
select nspname as schema, usename as owner from pg_namespace, pg_user where pg_namespace.nspowner = pg_user.usesysid and pg_user.usename ='dwuser'; schema | owner ----------+---------- us_sales | dwuser (1 row)
Contoh berikut membuat SALES skema US_, atau tidak melakukan apa-apa dan mengembalikan pesan jika sudah ada.
create schema if not exists us_sales;