OushuDB数据库基本用法(下)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OushuDB数据库基本用法(下)相关的知识,希望对你有一定的参考价值。


一个数据库包含多个模式(schema),而一个模式可以包含多种命名对象,比如表,数据类型,函数,操作符等。同一个对象名字可以用在不同的模式中而不产生冲突。比如schema1中可以包含表test,schema2中也可以同时包含名字为test的表。从这个意义上,模式很像一个命名空间(namespace)。
当创建一个对象时,默认被放置在public模式中。下面是系统默认创建的schema。

template1=# \\dn
List of schemas
Name | Owner
--------------------+----------
hawq_toolkit | ChangLei
information_schema | ChangLei
pg_aoseg | ChangLei
pg_bitmapindex | ChangLei
pg_catalog | ChangLei
pg_toast | ChangLei
public | ChangLei
(7 rows)create schema myschema;

通常在这样几个场景下,用户需要使用模式:

  • 允许多个用户同时使用一个数据库,而不产生名字冲突。
  • 把数据库对象组织成多个schema,好像是多个命名空间一样
  • 第三方应用可以把它们的对象放到一个单独的schema中,而不和其他对象产生从图。

注意:schema不可以嵌套,也就是说,schema中不可以再包含schema。
下面是创建schema的例子。

create schema myschema;

创建或者存取一个schema中的对象,可以使用schema.object形式,例如:

create table myschema.test(i int);
select * from myschema.test;

删除一个空的schema,可以使用:

drop schema myschame;

删除不空的schema,可以使用cascade关键词:

drop schema myschema cascade;

使用schema.object形式,通常用起来不是很方便。可以通过设置schema搜索路径来简化。”SHOW search_path”命令可以给出当前的schema搜索路径。”SET search_path TO schema-name1, schema-name2”可以设置schema搜索路径。例如:

postgres=# show search_path;
search_path
----------------
"$user",public
(1 row)

postgres=# create schema myschema;
CREATE SCHEMA

postgres=# set search_path = public, myschema;
SET

postgres=# show search_path;
search_path
------------------
public, myschema
(1 row)

以上是关于OushuDB数据库基本用法(下)的主要内容,如果未能解决你的问题,请参考以下文章

02 如何创建数据表? | OushuDB 数据库使用入门

09 数据库查询 | OushuDB 数据库使用入门

06 数据操纵之数据更新与删除 | OushuDB 数据库使用入门

实时数据正当红,解析偶数科技实时数仓 OushuDB 核心特性

偶数科技:基于OushuDB的新一代云原生湖仓一体为企业助力

OushuDB 创建和管理表空间