すべてのプロダクト
Search
ドキュメントセンター

Hologres:CREATE SCHEMA

最終更新日:Feb 04, 2026

Hologres では、異なるスキーマをまたいでテーブルを作成できます。 このトピックでは、Hologres でスキーマを作成し、スキーマをまたいでテーブルを作成する方法について説明します。

背景情報

Hologres は PostgreSQL と互換性があり、そのスキーマ機能は PostgreSQL のものと同じです。

Hologres のスキーマは、テーブルのストレージ構造を database.table から database.schema.table に変更します。

現在のバージョンの Hologres は、スキーマの作成、スキーマの名前変更、およびスキーマ内でのテーブル作成をサポートしています。

Hologres では、各テーブルはスキーマに属します。 データベースには複数のスキーマを含めることができ、データの管理に役立ちます。 これは、同じデータベースを使用する際のユーザー間の干渉を防ぐのにも役立ちます。

異なるスキーマに、同じ名前のテーブルやデータ型を含めることができます。

データベースが作成されると、デフォルトで public スキーマが作成されます。 他のスキーマを作成しない場合、データベース内に作成されたすべてのテーブルは public スキーマに格納されます。 次の文を実行して、現在のスキーマを表示できます。

SELECT CURRENT_SCHEMA();--現在のスキーマを表示します。
\d tablename; --対象テーブルが属するスキーマを表示します。 この文はターミナルにのみ適用されます。

次の図は、Hologres インスタンス内のオブジェクトの階層を示しています。层级关系

手順

  1. スキーマを作成します。

    次の例は、データベースにスキーマを作成するために使用される SQL 文を示しています。

    CREATE SCHEMA schemaname;--スキーマを作成します。
    SET search_path TO schemaname;--対象のスキーマに切り替えます。
    CREATE TABLE blink_demo (id text); --対象のスキーマにテーブルを作成します。
    SELECT CURRENT_SCHEMA();--現在のスキーマを表示します。
  2. スキーマを跨いでテーブルを作成します。

    異なるスキーマにテーブルを作成するには、テーブル名を schema.table フォーマットで指定します。 例:

    • 対象のデータベースの public スキーマにテーブルを作成します。 以下に SQL 文の例を示します。

      CREATE TABLE public.mytest (
        name text,
        id INT);
    • 以下は、public スキーマから対象のスキーマにテーブルを作成する SQL 文の例です。

      SET search_path TO public;
      CREATE TABLE my_schema.mytest (
        name text,
        id INT,
        age INT
      );

その他の操作

次の SQL 文を実行して、指定したスキーマ内のすべてのテーブルの合計ストレージサイズを表示できます。

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_name> をご利用のスキーマ名に置き換えます。
GROUP BY table_schema;