Hologres支援跨Schema建立表。本文為您介紹如何在Hologres中建立Schema,以及跨Schema建立表。
背景資訊
Hologres相容PostgreSQL,支援的Schema功能與PostgreSQL相同。
Hologres新增Schema功能後,表的儲存結構由database.table
變為database.schema.table
。
Hologres目前的版本主要支援建立Schema、重新命名Schema以及在Schema中建立表等功能。
在Hologres中,每張表歸屬於一個Schema,一個資料庫可以包含多個Schema,方便您管理。同時,多個使用者使用同一個資料庫時不會互相干擾。
不同的Schema可以包含相同的表名稱或資料類型。
建立資料庫時系統預設建立一個public Schema。如果您不建立其它Schema,則在該資料庫建立的所有表預設儲存在public Schema中。您可以執行以下語句查看當前Schema。
select current_schema(); --查看當前Schema。
\d tablename; --查看目標表所屬的Schema。該語句只適用於終端。
Hologres執行個體對象的層級關係如下圖所示。
操作步驟
建立Schema。
在資料庫中建立Schema的樣本SQL語句如下。
create schema schemaname; --建立Schema。 set search_path to schemaname; --切換至目標Schema。 create table blink_demo (id text); --在目標Schema中建立表。 select current_schema(); --查看當前Schema。
跨Schema建立表。
您可以使用
schema.table
語句,添加Schema名稱至表名稱之前,即可跨Schema建立表。具體如下:在目標Schema中為public Schema建立表。樣本SQL語句如下。
create table public.mytest ( name text, id int);
在public Schema中為目標Schema建立表。樣本SQL語句如下。
set search_path to public; create table my_schema.mytest ( name text, id int, age int );