yuan-er

导航

 
图1 创建和管理数据库

前提条件

用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据库,授予创建数据库的权限请参见用户及权限

背景信息

  • 初始时,GaussDB包含三个模板数据库template0、template1、templatea,templatem,以及一个默认的用户数据库postgres。
  • CREATE DATABASE实际上通过复制模板数据库来创建新数据库。默认复制template0。请避免使用客户端或其他手段连接及操作两个模板数据库。
    说明:
    • 模板数据库中没有用户表,可通过系统表PG_DATABASE查看模板数据库属性。
    • 模板template0、templatea不允许用户连接;模板template1和templatem只允许数据库初始用户和系统管理员连接,普通用户无法连接。
    • templatem为系统保留数据库名称,不允许用户以其为数据库名创建数据库。
    • templatea、templatem不允许用户修改名称。
  • 数据库系统中会有多个数据库,但是同一时刻客户端程序只能连接一个数据库。当前,不支持在不同的数据库之间进行相互查询(跨库查询或跨库事务)。
  • 当一个数据库集群中存在多个数据库时,可以通过客户端工具的-d参数指定目标数据库进行登录,也可以在客户端程序登录数据库以后通过\c命令进行数据库切换。

注意事项

如果数据库的编码为SQL_ASCII(可以通过“show server_encoding”命令查看当前数据库存储编码),则在创建数据库对象时,如果对象名中含有多字节字符(例如中文),超过数据库对象名长度限制(63字节)的时候,数据库会将最后一个字节(而不是字符)截断,可能造成出现半个字符的情况。

针对这种情况,请遵循以下条件:

  • 保证数据对象的名称不超过限定长度。
  • 使用utf-8编码集为数据库的默认存储编码集(server_encoding)。
  • 不要使用多字节字符作为对象名。
  • 因为误操作导致在多字节字符的中间截断,从而导致无法删除数据库对象,如果出现这种现象,请使用截断前的数据库对象名进行删除操作,或将该对象从各个数据库节点的相应系统表中依次删掉。

更多详情请参考GaussDB 文档中心:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html

 

posted on 2025-05-29 11:11  数据库笔记  阅读(4)  评论(0)    收藏  举报