公司换国产数据库,运维老张从MySQL迁到GaussDB,被要求第一天就把常用操作跑通。GaussDB基于PostgreSQL内核开发,命令风格和PG很像,会PG的人上手很快,但有几处细节不一样。

连接和基础查看

gsql -d 数据库名 -U 用户名 -p 端口
SELECT version();

gsql是它的命令行客户端,对应PG的psql。元命令以反斜杠开头,比如反斜杠加l列出所有数据库、反斜杠加dt列出当前库的表、反斜杠加d加表名看表结构、反斜杠加c切换数据库。记住这个规律就不用死背。

建库建表

建库用create database 库名。建表语法和PG基本一致,支持serial自增、varchar变长、timestamp时间戳。它默认区分大小写,标识符不加引号会被转成小写,这点和PG相同,写SQL时注意。

常用增删改查

  • 插入:insert into 表名 (字段) values (值)。
  • 查询:select 字段 from 表名 where 条件 limit 10。
  • 更新:update 表名 set 字段=值 where 条件。
  • 删除:delete from 表名 where 条件,慎用不带条件的删除。

用户权限和备份

建用户用create user,授权用grant 权限 on 对象 to 用户。集群模式下用户通常还要有登录管理等权限。逻辑备份用gs_dump和gs_dumpall导出,恢复用gs_restore。物理备份和主备切换要用集群管理工具gs_ctl和gs_om,这部分和单机数据库差别最大,运维要单独学。