69 lines
1.4 KiB
Markdown
69 lines
1.4 KiB
Markdown
操作用户
|
|
```
|
|
su - openGauss
|
|
```
|
|
|
|
|
|
登录
|
|
```
|
|
gsql -d postgres -p 15000
|
|
```
|
|
|
|
|
|
|
|
- 用户和数据库状态一键查询脚本
|
|
```
|
|
SELECT
|
|
u.usename as "用户名",
|
|
d.datname as "数据库名",
|
|
CASE WHEN d.datdba = u.usesysid THEN '所有者' ELSE '使用者' END as "关系类型",
|
|
CASE WHEN u.usesysid = (SELECT datdba FROM pg_database WHERE datname = d.datname)
|
|
THEN '是' ELSE '否' END as "是否为所有者",
|
|
has_database_privilege(u.usename, d.datname, 'CONNECT') as "连接权限",
|
|
has_database_privilege(u.usename, d.datname, 'CREATE') as "创建表权限"
|
|
FROM pg_user u
|
|
CROSS JOIN pg_database d
|
|
WHERE d.datname NOT LIKE 'template%'
|
|
ORDER BY u.usename, d.datname;
|
|
```
|
|
|
|
|
|
查看当前用户权限
|
|
```
|
|
SELECT
|
|
rolname,
|
|
rolcreatedb,
|
|
rolsuper
|
|
FROM pg_roles
|
|
WHERE rolname = current_user;
|
|
```
|
|
|
|
- 创建用户
|
|
```
|
|
CREATE USER future WITH PASSWORD 'FutureV587?'
|
|
SYSADMIN -- 授予系统管理员权限
|
|
CREATEDB -- 授予创建数据库的权限
|
|
CONNECTION LIMIT 100; -- 限制最大连接数为100
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
- 创建数据库
|
|
```
|
|
CREATE DATABASE futrue
|
|
WITH
|
|
OWNER = future -- 指定所有者为 omm
|
|
ENCODING = 'UTF8' -- 设置编码
|
|
LC_COLLATE = 'en_US.UTF-8' -- 排序规则
|
|
LC_CTYPE = 'en_US.UTF-8' -- 字符分类
|
|
CONNECTION LIMIT = -1; -- 连接数限制(-1表示无限制)
|
|
```
|
|
|
|
|
|
退出
|
|
```
|
|
\q
|
|
```
|