日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

CREATE SCHEMA

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實例對象的層級關系如下圖所示。層級關系

操作步驟

  1. 創建Schema。

    在數據庫中創建Schema的示例SQL語句如下。

    CREATE SCHEMA schemaname;--創建Schema。
    SET search_path TO schemaname;--切換至目標Schema。
    CREATE TABLE blink_demo (id text); --在目標Schema中創建表。
    SELECT CURRENT_SCHEMA();--查看當前Schema。
  2. 跨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
      );

其他操作

您可以通過執行以下SQL語句,查看指定Schema下面所有表的存儲大小。

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>'--替換為您指定的Schema名稱
GROUP BY table_schema;