目录
4.2.通过CREATE DATABASE创建一个KES数据库
1. 问题
如何在KingbaseES中新建一个数据库?
2. 文档概述
本文主要描述数据库的属性,以及如何创建一个数据库。
3. 数据库属性
数据库是一组SQL对象(“数据库对象”)的命名集合。每个数据库中可以包含多个数据库对象,如表、索引、序列等。但通常每个数据库对象(表、函数等)属于并且只属于一个数据库(但存在系统表和系统视图,例如sys_database,属于整个KingbaseES实例,并且实例中的所有数据库都可访问这些系统表)。
通过检查系统表sys_database,用户可以确定现有数据库的集合:
test=# select datname from sys_database;
datname
-----------
test
template1
template0
(3 行记录)
ksql程序的l命令和-l命令行选项也可以列出已有的数据库。
数据库列表:
名称 | 属主 | 字元编码 | 校对规则 | Ctype | 存取权限
------------+--------+--------------+-----------------+-----------------+------------------
template0 | system| UTF8 |zh_CN.UTF-8| zh_CN.UTF-8| =c/system +
| | | | | system=CTc/system
template1 | system| UTF8 |zh_CN.UTF-8| zh_CN.UTF-8| =c/system +
| | | | | system=CTc/system
test | system| UTF8 |zh_CN.UTF-8| zh_CN.UTF-8|
(3 行记录)
查看数据库test所占的磁盘空间大小:
test=# select sys_database_size('test');
sys_database_size
-------------------
10600963
(1 行记录)
将数据库从test切换到template1:
test=# \c template1
用户 system 的口令:
您现在已经连接到数据库 "template1",用户 "system".
4. 创建一个KES数据库
在KingbaseES中,用户通常可以通过以下三种方式创建一个KES数据库:
- 基于图形界面创建一个KES数据库;
- 通过命令CREATE DATABASE创建一个KES数据库;
- 通过命令createdb创建一个KES数据库。
4.1.基于图形界面创建一个KES数据库
通过KingbaseES数据库对象管理工具可视化图形界面的引导,创建一个数据库。
具体步骤:
鼠标定位在导航树上数据库或“数据库名称”(例如“test”)所在节点,右键点击数据库或“数据库名称”;
在弹出式菜单中选择“新建数据库”菜单项。
数据库对象管理工具右侧信息浏览区将弹出“新建数据库”的向导界面。
填写“基本属性”页、“权限”页、“DDL”页等信息后,点击确定,即可新建一个数据库。
“基本属性”页——“基本属性”页可以定义或查看数据库的主要属性,比如数据库名称、属主。
“基本属性”页包含以下信息:
名称
待创建的或者当前查看的数据库的名称。在“创建一个KES数据库”操作过程中,用户可以指定一个有效的KingbaseES数据库标识符作为数据库名。数据库名不能重复。
属主
该数据库的所有者名称,所有者应该是数据库系统的用户之一。
在“更改数据库”操作过程中,可以将当前数据库的所有者指派给其他用户。
编码
数据库的编码规则,默认UTF8,可选ASCII、GBK、GB18030编码。
“权限”页——权限页,可以定义或查看数据库的权限,切换“用户”/“角色”时,权限将随之更新。
“DDL”页——通过信息浏览区,用户可以查看数据库的DDL语言。DDL命令用于构建一些数据,例如创建和更改数据库和表。
4.2.通过CREATE DATABASE创建一个KES数据库
使用SQL命令CREATE DATABASE创建数据库:
CREATE DATABASE name;
注意:
1)name遵循SQL标识符的一般规则。创建数据库的当前角色自动成为该新数据库的属主。
2)只有系统管理员system(超级用户)才被允许为其他人创建一个数据库。
示例:为用户rolename创建一个数据库dbname,并且使其成为dbname的属主。
CREATE DATABASE dbname OWNER rolename;
4.3.通过createdb创建一个KES数据库
createdb工具连接kingbase数据库并发出CREATE DATABASE命令。
createdb [connection-option...] [option...] [dbname [description]]
connection-option:
-p port
指定服务器正在监听连接的TCP端口或本地Unix域套接字文件扩展。
-U username
指定连接的用户。
option:
-O owner
指定拥有此新数据库的数据库用户。
-T template
指定用于创建此数据库的模板数据库。
示例:创建一个名为demo的新数据库:
$ createdb demo
注意:不带任何参数的createdb将创建一个使用当前用户名的数据库。