前提条件
用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据库,授予创建数据库的权限请参见用户及权限。
背景信息
初始时,GaussDB包含两个模板数据库template0、template1,以及一个默认的用户数据库postgres。
CREATE DATABASE实际上通过拷贝模板数据库来创建新数据库。只支持拷贝template0。请避免使用客户端或其他方式连接及操作两个模板数据库。
说明:
模板数据库中没有用户表,可通过系统表PG_DATABASE查看模板数据库属性。
模板template0不允许用户连接,模板template1只允许数据库初始用户和系统管理员连接,普通用户无法连接。
数据库系统中会有多个数据库,但是同一时刻客户端程序只能连接一个数据库。当前,不支持在不同的数据库之间进行相互查询(跨库查询或跨库事务)。
当数据库集群中存在多个数据库时,可以通过客户端工具的-d参数指定目标数据库进行登录,也可以在客户端程序登录数据库以后通过\c命令进行数据库切换。
注意事项
如果数据库的编码为SQL_ASCII(可以通过“show server_encoding”命令查看当前数据库存储编码),则在创建数据库对象时,如果对象名中含有多字节字符(例如中文),超过数据库对象名长度限制(63字节)的时候,数据库会将最后一个字节(而不是字符)截断,可能造成出现半个字符的情况。
针对这种情况,请遵循以下条件:
保证数据对象的名称不超过限定长度。
使用例如utf-8编码集作为数据库的默认存储编码集(server_encoding)。
不要使用多字节字符作为对象名。
因为误操作导致在多字节字符的中间截断,从而导致无法删除数据库对象,如果出现这种现象,请使用截断前的数据库对象名进行删除操作,或将该对象从各个数据库节点的相应系统表中依次删除。
操作步骤
使用如下命令创建一个新的数据库db_tpcds。
gaussdb=# CREATE DATABASE db_tpcds;
CREATE DATABASE
查看数据库。
使用\l元命令查看数据库系统的数据库列表。
gaussdb=# \l
使用如下命令通过系统表pg_database查询数据库列表。
gaussdb=# SELECT datname FROM pg_database;
修改数据库。
用户可以使用如下命令修改数据库属性(比如:owner、名称和默认的配置属性)。
使用如下命令为数据库重新命名。
gaussdb=# ALTER DATABASE db_tpcds RENAME TO human_tpcds;
ALTER DATABASE
436

被折叠的 条评论
为什么被折叠?



