OushuDB 产品介绍基本用法概述

2023-05-08 11:10:33 浏览数 (1)

1、概述

一个OushuDB集群管理着多个数据库(database),每个数据库又包含多个模式(schema), 一个模式包含多个对象(表,视图,函数等),所以这些对象之间的层级结构为:

代码语言:javascript复制
database -> schema -> (tables, functions, views)

每个模式,表,视图,函数等只属于一个database。本章主要介绍每一种对象的常见用法。具体使用语法可以参见参考手册。

2、数据库

OushuDB在初始化完成后,会默认生成三个数据库,可以使用l命令查看,或者查看pg_database系统表。

代码语言:javascript复制
postgres=# l
                  List of databases
   Name    |  Owner   | Encoding | Access privileges
----------- ---------- ---------- -------------------
 postgres  | ChangLei | UTF8     |
 template0 | ChangLei | UTF8     |
 template1 | ChangLei | UTF8     |
(4 rows)

其中template0和template1为模版数据库。template1为系统默认用来创建新数据库的模版数据库,用户可以修改。template0默认不接受连接,所以不可更改,目的是始终保存一个干净的模版数据库。

创建一个数据库的时候,可以指定一个数据库的模版数据库。缺省为template1,现在OushuDB只支持以template0,template1和postgres数据库为模版数据库。例如:

代码语言:javascript复制
postgres=# create database tdb; # 创建一个新数据库,默认以template0为模版
CREATE DATABASE

postgres=#c postgres  # 连接postgres
postgres=# create table test(i int);  # 在postgres数据库中创建表test
CREATE TABLE

postgres=# create table test_orc(i int) with (appendonly=true, orientation=orc);  # 在postgres数据库中创建ORC格式表
CREATE TABLE

postgres=# create database dbnew template postgres;
CREATE DATABASE

postgres=#c dbnew # 连接dbnew

可以看到,dbnew中现在包含test表

代码语言:javascript复制
dbnew=#d
               List of relations
 Schema | Name | Type  |  Owner   |   Storage
-------- ------ ------- ---------- -------------
 public | test | table | ChangLei | append only
(1 row)

0 人点赞