暂无图片
求openGauss数据库创建、修改、删除示例?
我来答
分享
暂无图片 匿名用户
求openGauss数据库创建、修改、删除示例?

求openGauss数据库创建、修改、删除示例?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
M
mtl

创建和管理数据库

前提条件

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

背景信息

  • 初始时,openGauss包含两个模板数据库template0、template1,以及一个默认的用户数据库postgres。postgres默认的兼容数据库类型为O(即DBCOMPATIBILITY = A ),该兼容类型下将空字符串作为NULL处理。
  • CREATE DATABASE实际上通过拷贝模板数据库来创建新数据库。默认情况下,拷贝template0。请避免使用客户端或其他手段连接及操作两个模板数据库。

 说明:

  • 模板数据库中没有用户表,可通过系统表PG_DATABASE查看模板数据库属性。

  • 模板template0不允许用户连接;模板template1只允许数据库初始用户和系统管理员连接,普通用户无法连接。

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

注意事项

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

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

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

操作步骤

  1. 创建数据库

    a. 使用如下命令创建一个新的表空间tpcds_local。

    openGauss=# CREATE TABLESPACE tpcds_local RELATIVE LOCATION 'tablespace/tablespace_1' ;
    CREATE TABLESPACE
    
    复制

    b. 使用如下命令创建一个新的数据库db_tpcc。

    openGauss=# CREATE DATABASE db_tpcc WITH TABLESPACE = tpcds_local;
    CREATE DATABASE
    
    复制

 说明:

  • 数据库名称遵循SQL标识符的一般规则。当前角色自动成为此新数据库的所有者。

  • 如果一个数据库系统用于承载相互独立的用户和项目,建议把它们放在不同的数据库里。

  • 如果项目或者用户是相互关联的,并且可以相互使用对方的资源,则应该把它们放在同一个数据库里,但可以规划在不同的模式中。模式只是一个纯粹的逻辑结构,某个模式的访问权限由权限系统模块控制。

  • 创建数据库时,若数据库名称长度超过63字节,server端会对数据库名称进行截断,保留前63个字节,因此建议数据库名称长度不要超过63个字节。

  1. 查看数据库

    • 使用\l元命令查看数据库系统的数据库列表。

      openGauss=# \l
      
      复制
    • 使用如下命令通过系统表pg_database查询数据库列表。

      openGauss=# SELECT datname FROM pg_database;
      
      复制
  2. 修改数据库

    用户可以使用如下命令修改数据库属性(比如:owner、名称和默认的配置属性)。

    • 使用以下命令为数据库设置默认的模式搜索路径。

      openGauss=# ALTER DATABASE db_tpcc SET search_path TO pa_catalog,public;
      ALTER DATABASE
      
      复制
    • 使用如下命令修改数据库表空间。

      openGauss=# ALTER DATABASE db_tpcc SET TABLESPACE tpcds;
      ALTER DATABASE
      
      复制
    • 使用如下命令为数据库重新命名。

      openGauss=# ALTER DATABASE db_tpcc RENAME TO human_tpcds;
      ALTER DATABASE
      
      复制
  3. 删除数据库

    用户可以使用DROP DATABASE命令删除数据库。这个命令删除了数据库中的系统目录,并且删除了磁盘上带有数据的数据库目录。用户必须是数据库的owner或者系统管理员才能删除数据库。当有人连接数据库时,删除操作会失败。删除数据库时请先连接到其他的数据库。

    使用如下命令删除数据库:

    openGauss=# DROP DATABASE human_tpcds;
    DROP DATABASE
    复制
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
求一份openGauss从0开始的实操学习计划?
回答 4
贾军锋老师的视频课程,非常推荐,手把手教你操作,边操作边讲解
opengauss极简版安装报错
回答 9
你用的是什么架构?什么操作系统?架构和系统选错,软件包安装时也会有类似权限的问题。
PG 中 btree-gist 在opengauss中的实现
回答 1
在opengauss中,没有对等实现btreegist插件。因此,在opengauss中使用btreegist插件与在PostgreSQL中使用btreegist插件存在一些差异。首先,因为openg
openGauss的场景有哪些?
回答 1
常见的应用场景在官方文档《技术白皮书》中有表述:交易型应用大并发、大数据量、以联机事务处理为主的交易型应用,如电商、金融、O2O、电信CRM/计费等,应用可按需选择不同的主备部署模式。物联网数据在工业
opengauss是nosql数据库吗?
回答 3
NoSQL,泛指非关系型的数据库,NoSQL有时也称作NotOnlySQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储,这些类型的数据存储不需要固定的模
请问 amd 处理器的服务器可以装 opengauss 吗。
回答 3
AMD处理器的服务器可以装openGauss。openGauss是一款开源的关系型数据库管理系统,支持在多种硬件平台上运行,包括x86架构和ARM架构的服务器。虽然在openGauss的兼容性列表中可
使用银河麒麟V10 aarch64环境安装openGauss企业版是提示找不到安装包
回答 1
是否有手工修改过操作系统的发行版名称?麒麟V10应该使用openEular20.03的openGauss安装包,报错中不会出现CentOS的字样,除非检测到了操作系统是centos
openGauss启动时的警告怎么处理
回答 1
忽略就可以了
openGuass安装时Check preinstall on every node中失败
回答 2
应该是前一步gspreinstall未完全执行成功,可以清理一下环境,重新执行gspreinstall成功后再执行gspinstall
opengauss可以在centos8.2安装吗?
回答 1
建议参考官方的要求:ARM:openEuler20.03LTS(推荐采用此操作系统)麒麟V10x86:openEuler20.03LTSCentOS7.6说明:当前安装包只能在英文操作系统上安装使用。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~