gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性,便于用户使用。
1.gsql命令连到数据库omm
-- 使用omm用户连接到本机,-r选项提供了对gsql命令的历史版本支持
su - omm
-- 使用默认环境变量的参数配置,omm数据库、5432端口
gsql -r
-- 指定连接的数据库名和端口号
gsql -r -d omm -p 5432

2.查看数据库的版本、pg基础版本和版权信息
select version();
show server_version;
\copyright

可以看到OG的底层内核版本是基于PG 9.2.4
3.常见元命令使用
\l 列出当前实例(数据库集簇)所有的数据库
\conninfo 显示会话的连接信息
\c 连接的数据库及用户(\c dbname username 或 \c - username)
\db 表空间
\dn 模式
\du 用户
\dg 角色
\di 索引
\dv 视图
\dt 表
\det 外部表
\df 函数
\ds 序列
\d(+) 显示详细信息
\x 打开扩展表格式模式,换行输出
\timing 执行耗时,显示执行时间
\copyright 版权信息
\pset 以不同的方法显示表
\i 执行外部脚本,导入DDL数据
\q 退出(或者ctrl +D)
\copy 导入导出数据
# 显示元命令的实际SQL,进入时用-E参数或进入后再开启
gsql -r -E
或
\set ECHO_HIDDEN on|off
# 设置详细的打印输出,可报出问题的代码
\set VERBOSITY verbose

--创建表
CREATE TABLE customer_t(
c_customer_sk integer,
c_customer_id char(5),
c_first_name char(6),
c_last_name char(8)
) ;
--插入数据
INSERT INTO customer_t (c_customer_sk, c_customer_id, c_first_name,c_last_name) VALUES (3769, 5, 'Grace','White');
-- 创建索引
create index idx_customer_id on customer_t(c_customer_id);

-- \pset 命令以不同的方法显示表
\pset border 2
SELECT * FROM customer_t;

4.使用两种方法,连到postgres数据库中

5.测试gsql中的默认事务自动提交功能
--查看gsql中事务是否默认为自动提交
show AUTOCOMMIT;
--测试gsql中事务默认为自动提交功能
create table customer_new as select * from customer_t;
\q
--重新登录后看到之前创建的表customer_new:
gsql -d -p 5432 -r
\dt

6.测试gsql中的事务手动提交功能
# 注意:此处设置ATUOCOMMIT必须用大写!
\set AUTOCOMMIT off
-- 插入一些数据
INSERT INTO customer_t (c_customer_sk, c_customer_id, c_first_name,c_last_name) VALUES
(6885, 1, 'Joes', 'Hunter'),
(4321, 2, 'Lily','Carter'),
(9527, 3, 'James', 'Cook'),
(9500, 4, 'Lucy', 'Baker');
--查看表中数据
select * from customer_t;
--执行回滚
ROLLBACK;
--检查是否回滚成功
SELECT * FROM customer_t;

7.了解gsql相关帮助
-- 命令获取帮助信息
gsql --help
-- gsql连接数据库后
\? 获取和元命令有关的帮助信息
\h 获取和SQL语法有关的帮助信息

最后修改时间:2022-11-25 22:32:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




