Hologres memungkinkan Anda membuat tabel di berbagai schema. Topik ini menjelaskan cara membuat schema di Hologres dan membuat tabel lintas schema.
Informasi latar belakang
Hologres kompatibel dengan PostgreSQL, dan fitur schemanya identik dengan yang ada di PostgreSQL.
Schema di Hologres mengubah struktur penyimpanan tabel dari database.table menjadi database.schema.table.
Versi Hologres saat ini mendukung pembuatan schema, penggantian nama schema, serta pembuatan tabel dalam suatu schema.
Di Hologres, setiap tabel termasuk dalam satu schema. Sebuah database dapat berisi beberapa schema untuk membantu Anda mengelola data dan mencegah gangguan antar pengguna yang menggunakan database yang sama.
Schema yang berbeda dapat berisi tabel atau tipe data dengan nama yang sama.
Saat sebuah database dibuat, schema public dibuat secara default. Jika Anda tidak membuat schema lain, semua tabel yang dibuat di database tersebut akan disimpan di schema public. Anda dapat menjalankan pernyataan berikut untuk melihat schema saat ini.
SELECT CURRENT_SCHEMA();--View the current schema.
\d tablename; --View the schema to which the target table belongs. This statement applies only to the terminal.
Gambar berikut menunjukkan hierarki objek dalam sebuah instans Hologres.
Prosedur
-
Buat skema.
Contoh berikut menunjukkan pernyataan SQL yang digunakan untuk membuat schema dalam sebuah database.
CREATE SCHEMA schemaname;--Create a schema. SET search_path TO schemaname;--Switch to the target schema. CREATE TABLE blink_demo (id text); --Create a table in the target schema. SELECT CURRENT_SCHEMA();--View the current schema. -
Buat tabel lintas skema.
Untuk membuat tabel di schema yang berbeda, tentukan nama tabel dalam format
schema.table. Contohnya:-
Buat tabel di schema public dari database target. Berikut contoh pernyataan SQL-nya.
CREATE TABLE public.mytest ( name text, id INT); -
Berikut contoh pernyataan SQL untuk membuat tabel di schema target dari schema public.
SET search_path TO public; CREATE TABLE my_schema.mytest ( name text, id INT, age INT );
-
Operasi lainnya
Anda dapat menjalankan pernyataan SQL berikut untuk melihat ukuran total penyimpanan semua tabel dalam schema tertentu.
SELECT table_schema, pg_size_pretty(SUM(pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))::decimal)) AS schema_size
FROM information_schema.tables
WHERE table_schema = '<schema_name>'--Replace <schema_name> with the name of your schema.
GROUP BY table_schema;