文档

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
      );
  • 本页导读 (1)