暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

openGauss每日一练第3天 | 创建数据库、修改数据库属性和删除数据库等基本操作

原创 2021-12-05
2206

创建数据库

openGauss 包含两个模板数据库 template0、template1,以及一个默认的用户数据库 postgres。
缺省情况下新数据库将通过复制标准系统数据库 template0 来创建,且仅支持使用template0来创建。

注意事项

····只有拥有 CREATEDB 权限的用户才可以创建新数据库,系统管理员默认拥有此权限。
····不能在事务块中执行创建数据库语句。
····在创建数据库过程中,出现类似“Permission denied”的错误提示,可能是由于文件系统上数据目录的权限不足。
·····在创建数据库过程中,出现类似“No space left on device”的错误提示,可能是由于磁盘满引起的。

创建数据库的语法格式

CREATE DATABASE database_name
    [ [ WITH ] { [ OWNER [=] user_name ] |
               [ TEMPLATE [=] template ] |
               [ ENCODING [=] encoding ] |
               [ LC_COLLATE [=] lc_collate ] |
               [ LC_CTYPE [=] lc_ctype ] |
               [ DBCOMPATIBILITY [=] compatibilty_type ] |
               [ TABLESPACE [=] tablespace_name ] |
               [ CONNECTION LIMIT [=] connlimit ]}[...] ];
复制

参数说明:

database_name:数据库名称。
OWNER [ = ] user_name:数据库所有者。缺省时,新数据库的所有者是当前用户。
TEMPLATE [ = ] template:模板名,即从哪个模板创建新数据库。openGauss采用从模板数据库复制的方式来创建新的数据库。取值范围:仅template0。
ENCODING [ = ] encoding:指定数据库使用的字符编码,可以是字符串(如’SQL_ASCII’)、整数编号。不指定时,默认使用模版数据库的编码。
LC_COLLATE [ = ] lc_collate:指定新数据库使用的字符集。例如,通过lc_collate = 'zh_CN.gbk’设定该参数。
LC_CTYPE [ = ] lc_ctype:指定新数据库使用的字符分类。例如,通过lc_ctype = 'zh_CN.gbk’设定该参数。
DBCOMPATIBILITY [ = ] compatibility_type:指定兼容的数据库的类型,默认兼容O。
TABLESPACE [ = ] tablespace_name:指定数据库对应的表空间。
CONNECTION LIMIT [ = ] connlimit:数据库可以接受的并发连接数。

创建数据库 lvzz

CREATE DATABASE lvzz;
复制

更改数据库属性

可以使用 ALTER DATABASE 语句修改数据库的属性,包括它的名称、所有者、连接数限制、对象隔离属性等。

修改数据库的最大连接数

ALTER DATABASE database_name [ [ WITH ] CONNECTION LIMIT connlimit ];
ALTER DATABASE lvzz connection limit 100;
复制

修改数据库名称

ALTER DATABASE database_name RENAME TO new_name;
ALTER DATABASE lvzz rename to lvzz2;
复制

修改数据库所属者

ALTER DATABASE database_name OWNER TO new_owner;
ALTER DATABASE lvzz OWNER TO postgres;
复制

修改数据库默认表空间

ALTER DATABASE database_name SET TABLESPACE new_tablespace;
ALTER DATABASE lvzz SET TABLESPACE pg_global;
复制

数据库系统中可能会有多个数据库,但是客户端程序一次只能连接一个数据库。也不能在不同的数据库之间相互查询。
一个openGauss中存在多个数据库时,需要通过 -d 参数指定相应的数据库实例进行连接。

gsql -d lvzz
复制

Image.png

课后作业

1、分别创建名为tpcc1和tpcc2的数据库

\l
create database tpcc1;
create database tpcc2;
\l
复制

Image.png

2、将tpcc1数据库重命名为tpcc10

alter database tpcc1 rename to tpcc10;
复制

Image.png

3、分别使用\l和\l+两个元命令查看数据库信息

\l
\l+
复制

Image.png

4、在数据库tpcc2中创建customer表,字段自定义

\c tpcc2;
create table lvzz(name varchar(20), age integer);
\d
复制

Image.png

5、删除新创建的数据库

drop database tpcc1;
drop database tpcc2;
复制

Image.png

6、退出gsql程序

\q
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 创建数据库
    • 注意事项
    • 参数说明:
  • 更改数据库属性
  • 课后作业