Skip to content

【持续更新】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 test

1.3 Socket 方式登录数据库 ​

使用本地 socket 登录 test 数据库:

bash
ksql -U srebro -d test

1.4 设置口令密文 ​

为 system 用户生成口令密文并写入 ~/.encpwd,客户端可自动带出密码:

bash
sys_encpwd -H * -P * -D * -U system -W XXXX

查看当前用户家目录下保存的口令密文:

bash
cat ~/.encpwd

1.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 /tmp

3.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:创建数据库,并将属主设为该用户,便于后续对象权限管理
最近更新