ITPub博客

首页 > 数据库 > 国内数据库 > GBase 8c数据库创建用户与属主查询操作详解

GBase 8c数据库创建用户与属主查询操作详解

原创 国内数据库 作者:GBASE南大通用 时间:2026-04-23 14:48:29 0 删除 编辑

在南大通用GBase 8c分布式数据库(gbase database)的运维过程中,经常会遇到 “创建数据库后遗忘所属用户” 的问题,尤其是多用户协作的生产环境,精准查询数据库属主是保障权限管理和数据安全的基础。本文结合 GBase 8c数据库的原生命令,分享数据库创建的用户配置方法及属主查询的两种实用方式,适配新手和资深运维人员的不同使用场景。

一、GBase 8c 数据库创建的用户权限要求

GBase 8c 中创建数据库需具备CREATEDB权限,超级用户sysdba默认拥有该权限,若需为普通用户分配创建权限,可执行以下命令:

-- 为用户test授予创建数据库权限

ALTER USER test CREATEDB;

-- 以test用户创建数据库

gbase_db CREATE DATABASE gbase_db OWNER test;

创建时可通过OWNER指定数据库属主,若未显式指定,默认以当前执行创建操作的用户为属主,这是避免后续遗忘属主的关键操作。

二、数据库属主的两种查询方法

方法 1:gsql 元命令(最简快捷,适合交互式操作)

登录 GBase 8c 的 gsql 客户端,执行元命令\l+,可列出集群中所有数据库的详细信息,包括数据库名、属主、创建时间、表空间、大小等,核心字段为Owner,直接对应数据库创建用户:

方法 2:SQL 联表查询(精准筛选,适合脚本 / 批量操作)

通过查询系统元数据表pg_database(存储数据库信息)和pg_user(存储用户信息),关联字段为datdba(数据库属主的系统 ID)和usesysid(用户系统 ID),可精准筛选指定数据库的属主,命令如下:

三、运维注意事项

  1. 生产环境中建议创建数据库时显式指定OWNER,避免因用户切换导致属主混乱;
  2. 普通用户仅能查询自身拥有的数据库属主信息,超级用户可查看所有数据库的属主;
  3. 若需修改数据库属主,可执行ALTER DATABASE gbase_db OWNER TO new_user;,需确保目标用户存在且具备相应权限。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3116634/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
GBASE南大通用,致力于成为用户最信赖的数据库产品供应商!

注册时间:2020-07-16

  • 博文量
    1311
  • 访问量
    1288276