1.Base基础/3.Icon图标/操作/search备份
1.Base基础/3.Icon图标/操作/search备份
EN
文档
AntDB简介
快速入门
用户手册
登录数据库
建表
增删改查
建索引
执行计划
事务自动提交设置
数据安全
系统架构
最佳实践
参考指南
  • 文档首页 /
  • 用户手册 /
  • 创建数据库

创建数据库

更新时间:2024-04-14 21:48:52

与 Oracle 不同,在 AntDB 中可以创建多个数据库,且不同的数据库之间是完全隔离的。

AntDB在初始化完成后,会默认有三个数据库:

  • template0 模板库,不可修改。
  • template1 模板库,可以修改,create database即是从这个模板库继承对象
  • antdb 系统数据库,存放集群信息等数据,不建议作为业务库使用

使用\h create database可以得到创建数据库命令的帮助信息:

antdb=# \h create database
Command:     CREATE DATABASE
Description: create a new database
Syntax:
CREATE DATABASE name
    [ [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
           [ TABLESPACE [=] tablespace_name ]
           [ ALLOW_CONNECTIONS [=] allowconn ]
           [ CONNECTION LIMIT [=] connlimit ]
           [ IS_TEMPLATE [=] istemplate ] ]

antdb=# 

简单的创建数据库命令如下:

antdb=# create database testdb1;
CREATE DATABASE

在帮助信息中,可以看到,在创建数据库的时候,同样可以进行一些参数的设置,比如指定: * 数据库的用户: OWNER * 字符集:ENCODING * 表空间:TABLESPACE * 连接数限制: CONNECTION LIMIT

adb中可以通过\l 命令查看集群中有哪些数据库:

antdb=# \l
                          List of databases
   Name    | Owner  | Encoding | Collate | Ctype | Access privileges 
-----------+--------+----------+---------+-------+-------------------
 testdb1   | antdb | UTF8     | C       | C     | 
 antdb  | antdb | UTF8     | C       | C     | 
 template0 | antdb | UTF8     | C       | C     | =c/antdb        +
           |       |          |         |       | antdb=CTc/antdb
 template1 | antdb | UTF8     | C       | C     | =c/antdb        +
           |       |          |         |       | antdb=CTc/antdb
(5 rows)
  • 如果在业务模型设计中,数据库和用户具有强绑定的关系,比如某个数据库归某个用户使用,可以在创建数据库的时候指定 owner=crm
  • 也可以将数据库的权限赋给指定的几个用户,如:grant all on database to crm1,crm2,crm3
  • 数据库之间的对象不能直接访问,也不能通过赋权访问,完全是隔离的。
问题反馈