主题
【持续更新】Kingbase 常用命令笔记
一、用户与登录
1.1 创建用户
sql
CREATE USER srebro WITH PASSWORD 'XXXX';1.2 IP 方式登录数据库
使用 srebro 用户通过 127.0.0.1:54321 登录 test 数据库:
bash
ksql -h 127.0.0.1 -p 54321 -U srebro -d test1.3 Socket 方式登录数据库
使用本地 socket 登录 test 数据库:
bash
ksql -U srebro -d test1.4 设置口令密文
为 system 用户生成口令密文并写入 ~/.encpwd,客户端可自动带出密码:
bash
sys_encpwd -H * -P * -D * -U system -W XXXX查看当前用户家目录下保存的口令密文:
bash
cat ~/.encpwd1.5 查看当前登录用户
sql
SELECT current_user;二、表与模式
2.1 查看表
查看当前模式下所有表:
bash
\dt查看指定模式下所有表(将 模式名 替换为目标 schema):
bash
\dt 模式名.*查看所有模式下所有表:
bash
\dt *.*2.2 查看表结构与建表语句
查看 t01 表结构:
bash
\d t01查看 t01 的建表 SQL:
sql
SHOW CREATE TABLE t01;2.3 查看 / 修改模式
查看当前数据库模式(如 oracle、mysql、pg):
sql
SHOW database_mode;将 schema baseline_app_ai_expert 的属主改为 srebro:
sql
ALTER SCHEMA baseline_app_ai_expert OWNER TO srebro;三、会话与连接
3.1 在 ksql 中执行宿主机命令
bash
\! ls -l /tmp3.2 查看连接与会话
查看当前连接:
sql
SELECT connections();查看最大连接数:
sql
SHOW max_connections;查看当前会话对应的后端进程号:
sql
SELECT sys_backend_pid();查看当前连接会话和正在执行的 SQL:
sql
SELECT * FROM sys_stat_activity;3.3 打开或关闭扩展显示
在 ksql 中切换扩展显示模式:
bash
\x四、主从复制与同步
4.1 查看主库复制状态
在主库查看有哪些备库通过流复制连接,以及复制状态:
sql
SELECT * FROM sys_stat_replication;4.2 查看备库 WAL 接收器状态
在备库查看连接的主库和 WAL 接收进度:
sql
SELECT * FROM sys_stat_wal_receiver;4.3 查看事务同步级别
sql
SHOW synchronous_commit;常见取值含义:
| 取值 | 含义 |
|---|---|
off | 事务信息写到主库缓存后即可提交 |
local | 事务信息写到主库 WAL 文件后提交 |
remote_write | 事务信息写到备库缓存后提交 |
on | 事务信息写到备库 WAL 文件后提交 |
remote_apply | 事务信息应用到备库数据文件后提交 |
4.4 查看备库同步配置
sql
SHOW synchronous_standby_names;常见模式含义:
| 模式 | 含义 |
|---|---|
Async | 全异步,所有备节点均为异步 |
Sync | 同步模式,1 个指定备节点同步,其余异步 |
Quorum | 优选同步,1 个优选节点同步,其余异步 |
A | 动态全同步,全部节点同步,支持降级为异步 |
五、物理文件位置
查看表 public.t01 对应的数据文件路径:
sql
SELECT sys_relation_filepath('public.t01');查看索引 public.idx_t01_id 对应的索引文件路径:
sql
SELECT sys_relation_filepath('public.idx_t01_id');六、授权信息
6.1 查看授权剩余天数
sql
SELECT get_license_validdays();返回值含义:
- 大于 0:剩余有效天数
- -1:已过期或授权有问题
- -2:永久授权
6.2 查看完整授权信息
sql
SELECT get_license_info();七、创建用户并授权数据库所属权
创建业务用户,并新建以其为属主的数据库:
sql
CREATE USER srebro WITH PASSWORD 'XXXX';
CREATE DATABASE srebro OWNER srebro;说明:
CREATE USER:创建登录用户并设置密码CREATE DATABASE ... OWNER:创建数据库,并将属主设为该用户,便于后续对象权限管理
