高斯数据库使用手册

高斯数据库使用手册

1. 简述

openGauss是一款极致性能、安全、可靠的关系型(OLTP)开源数据库

2. 官方文档

https://opengauss.org/zh/ 安装及对应工具都在,按需查找

3. DBeaver使用Gauss

​ 使用DBeaver管理Gauss数据库

1. 选择工具栏新建数据库连接

CleanShot 2024-06-26 at 21.53.25@2x

2. 创建数据库驱动,jdbc使用postgresql

CleanShot 2024-06-26 at 21.54.11@2x

3. 下一步输入数据库ip地址,端口号,用户名及密码

CleanShot 2024-06-26 at 21.55.34@2x

4. 登录成功后

CleanShot 2024-06-26 at 22.00.19@2x

5. 新建sql执行,创建新的用户和数据库,并赋予权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-- 创建数据库
CREATE DATABASE your_database;

-- 创建用户req
CREATE USER req WITH PASSWORD 'password';

-- 授予用户对数据库的所有权限
GRANT ALL PRIVILEGES ON DATABASE your_database TO req;

-- 切换到新创建的数据库
\c your_database

-- 授予用户对数据库中所有 schema 和对象的所有权限
GRANT ALL PRIVILEGES ON SCHEMA public TO req; -- 重复这行语句以适用于多个 schema
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO req;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO req;

-- 确保未来创建的对象也授予用户权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO req;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO req;

4. 代码中使用Guass数据库连接

由于 GaussDB 基于 PostgreSQL所以引入对应依赖即可

1
2
3
4
5
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.20</version> <!-- 请确认版本号是否为最新 -->
</dependency>

配置datasource

1
2
3
4
5
6
7
8
spring.datasource.url=jdbc:postgresql://<host>:<port>/<database>
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=org.postgresql.Driver

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update

5. 常用的权限

赋予权限使用GRANT,撤销权限用REVOKE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
-- 1. 授权表的权限
-- SELECT:查询数据
-- INSERT:插入数据
-- UPDATE:更新数据
-- DELETE:删除数据
-- TRUNCATE:清空数据
GRANT SELECT, INSERT, UPDATE ON schema.table TO username;
-- 2. 授予视图权限
-- SELECT:查询视图数据
GRANT SELECT ON schema.view FROM username;
-- 3. 授予存储过程或函数执行权限
-- EXECUTE:执行存储过程或函数
-- GRANT EXECUTE ON PROCEDURE procedure_name TO username;
GRANT EXECUTE ON FUNCTION function_name TO username;
-- 4. 授予数据库权限
-- CREATE:在数据库中创建对象
-- DROP:删除对象
-- ALTER:修改对象
GRANT CREATE, DROP, ALTER ON DATABASE database_name TO username;
-- 5. 授予模式(Schema)权限
-- USAGE:使用模式中的对象
-- CREATE:在模式中创建新对象
GRANT CREATE, DROP, ALTER ON DATABASE database_name TO username;
-- 6. 授予序列权限
-- USAGE:使用序列生成值
-- SELECT:查询序列的当前值
GRANT USAGE, SELECT ON SEQUENCE schema.sequence_name TO username;
-- 7. 授予角色权限(说明:role的概念为一组权限,以上的赋权都可以替换TO userName为TO rolename,然后将角色的权限赋予用户)
GRANT role_name TO username;

-- 权限查看:
SELECT * FROM pg_roles; -- 查看角色信息
SELECT * FROM pg_user; -- 查看用户权限信息

6. 高斯出厂用户

  • PUBLIC : PUBLIC是所有数据库用户的默认角色。任何数据库用户,都会拥有PUBLIC角色的权限,这些权限会应用于所有用户。

    一般用于特定用户的公共授权

  • db_owners : db_owner 是具有完整权限的角色,通常是数据库管理员角色(DBA)。此角色通常被分配给数据库管理员,允许他们执行所有数据库操作,包括创建、修改、删除数据库对象等


高斯数据库使用手册
https://liu620.github.io/2024/07/21/高斯数据库使用手册/
作者
alen
发布于
2024年7月21日
许可协议