与 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 - 数据库之间的对象不能直接访问,也不能通过赋权访问,完全是隔离的。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




