openEuler24.03安装了 openGauss6.0.2,无法生成用户,数据库和数据表

openEuler24.03安装了 openGauss6.0.2,无法生成用户,数据库和数据表,是什么原因?数据库存用户只有安装时设定的omm,看它就是超级管理员角色。

根据目前公开的信息,openEuler 24.03 + openGauss 6.0.2 组合下出现无法创建用户、数据库和数据表的问题,并非个例,已有社区用户报告类似情况。以下是可能原因及建议排查方向:


:white_check_mark: 1. 权限问题:openGauss 6.0.2 默认权限更严格
openGauss 6.0.2 在权限控制方面引入了更细粒度的限制,尤其是:

  • 默认禁止使用超级用户(如 omm)直接建库建表;
  • 默认 schema 权限对新建用户不开放;
  • pg_catalog、public schema 权限被收紧。

:white_check_mark: 解决建议:

  • 使用 omm 登录后,显式授予权限:
  GRANT ALL ON SCHEMA public TO youruser;
  GRANT CREATE ON DATABASE yourdb TO youruser;

:white_check_mark: 2. 初始化脚本未正确执行
openGauss 6.0.2 在 openEuler 24.03 上部署时,初始化脚本可能因为系统兼容性问题未正确创建默认数据库、用户或 schema。

:white_check_mark: 解决建议:

  • 手动初始化数据库:
  gs_initdb -D /opt/opengauss/data --nodename=primary
  • 检查初始化日志是否有报错。

:white_check_mark: 3. 默认数据库未初始化或不可写
如果 gsql -d postgres 登录后提示:

FATAL: database "postgres" does not exist

说明初始化时未创建默认数据库。

:white_check_mark: 解决建议:

  • 使用 gs_initdb 重新初始化;
  • 或手动创建数据库:
  CREATE DATABASE postgres;

:white_check_mark: 4. 用户创建失败但未提示权限错误
在 openGauss 6.0.2 中,使用 CREATE USER 时若未指定 LOGIN 权限,用户无法登录,但不会报错,容易误判为“创建失败”。

:white_check_mark: 解决建议:

  • 创建用户时显式指定:
  CREATE USER testuser WITH LOGIN PASSWORD 'Test@123';

:white_check_mark: 5. 建议操作顺序(一次性验证)

  1. 使用 omm 登录:
   su - omm
   gsql -d postgres -p 5432 -r
  1. 创建数据库:
   CREATE DATABASE testdb OWNER omm;
  1. 创建用户并授权:
   CREATE USER testuser WITH LOGIN PASSWORD 'Test@123';
   GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;

:white_check_mark: 最终建议
由于 openEuler 24.03 是较新的系统版本,openGauss 6.0.2 可能尚未完全适配,建议:

  • 降级为 openEuler 20.03/22.03 LTS;
  • 或等待 openGauss 官方发布对 openEuler 24.03 的兼容性说明。

如需进一步排查,请提供:

  • gsql 登录时的完整报错信息;
  • pg_log 下的最近日志($PGDATA/pg_log/*.log);
  • 执行 CREATE USERCREATE DATABASE 时的返回信息。

omm无权限生成用户和表,现在连用omm生成用户都不成功!怎么设置,让omm可生成用户?

我也装了个24.03加6.0.2,全部配好了,都可以正常使用啊,是不是您安装的时候哪部做错了

创建用户的sql语句没有加分号,视为语句没有输入完,可以看前面提示符的样子
openGauss-# 这种就是表示前面的语句没有输入完,新语句应该是openGauss=#

是我的问题,谢谢回复!确实是语句不完整,后面没分号;,现在正常了。谢谢!

老哥怎么处理py版本等问题的