当前位置: 首页 > news >正文

详解openGauss客户端工具gsql的高级用法

前言:
gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性,便于用户使用。

gsql的基本功能

连接数据库;

执行SQL语句:支持交互式地键入并执行SQL语句,也可以执行一个文件中指定的SQL语句;

执行元命令:元命令可以帮助管理员查看数据库对象的信息、查询缓存区信息、格式化SQL输出结果、以及连接到新的数据库等。

一、高级特性
1、变量
gsql提供类似于Linux的shell命令的变量特性,可以使用gsql的原命令\set设置一个变量。格式如下:

设置变量
\set name wang5

查看变量
\echo :name
 

要删除一个变量请使用如下方式
\unset name
查看所有变量
\set

此时name的值被删除

不写第二个参数的情况
\set name1
\echo :name1


参数被赋予空值

变量的引用
\set id 2
select * from tb1 where id=:id
 

二、连接数据库
gsql -h master01 -p 15400 -d postgres -U gsname -W ‘gsname@123’ -r
-h:后面的地址(master01)是数据库所在的IP地址或者是主机名。
-p:后面的端口(15400)是数据库的监听端口,默认的端口是5432
-d:后面的参数(postgres)是创建的数据库名称
-U:后面的参数(gsname)是创建的用户名
-W:后面的参数(gsname@123)是omm用户的密码
-r:开启在客户端操作中可以进行编辑的模式

禁止使用omm用户进行远程连接数据库

Trust安全认证模式(pg_hba.conf)仅允许本地登录,远程无法使用该模式登录

三、执行sql语句
在gsql中创建表

create table tb1(id int,name varchar2(20));
 

通常,输入的命令行在遇到分号的时候结束。如果输入的命令行没有错误,结果就会输出到屏幕上

插入数据库

insert into tb1(id,name) values(1,’wang5’);
insert into tb1(id,name) values(2,’zhang3’);
insert into tb1(id,name) values(3,’li4’);
 

四、执行元命令
所谓元命令就是在gsql里输入的任何以不带引号的反斜杠开头的命令

一般的元命令
查询缓存区元命令
输入/输出元命令
显示信息元命令
格式化元命令
连接元命令
操作系统元命令
变量元命令和表
大对象元命令

4.1、元命令
4.1.1 -c 的使用
[omm@master01 dn]$ gsql -d postgres -p 15400 -c “select * from tb1”
 

-c:声明gsql要执行一条字符串命令然后退出

4.1.2 -f 的使用
[omm@master01 dn]$ gsql -d postgres -p 15400 -f /home/omm/i.sql
说明:i.sql里面的内容是插入3条数据库

-f:使用文件作为命令源而不是交互式输入。gsql将在处理完文件后结束.

4.1.3 -l 的使用
[omm@master01 dn]$ gsql -d postgres -p 15400 -l
 

-l:列出所有可用的数据库,然后退出

4.1.4 -c -A -t -F ‘)(’ 的使用
[omm@master01 dn]$ gsql -d postgres -p 15400 -c “select * from tb1” -A -t -F ‘)(‘
 

-A:切换为非对齐输出模式。
-t:只打印行。
-F:设置域分隔符(默认为“|”)。

4.1.5 -E 的使用
[omm@master01 dn]$ gsql -d postgres -p 15400 -E
-E:回显由\d和其他反斜杠命令生成的实际查询

4.1.6 -1(数字1) -f 的使用
[omm@master01 dn]$ gsql -d postgres -p 15400 -1 -f /home/omm/t1.sql
下面是t1.sql文件中的sql,第3行insert是不能够正确执行的。
执行结果
查看是否插入成功
可以看出,t1.sql中的语句全部没有插入成功
为了做对比,把-1参数去掉,继续执行
[omm@master01 dn]$ gsql -d postgres -p 15400 -f /home/omm/t1.sql
执行结果
查看是否插入成功
可以看出,3条正确的insert语句是插入到表中的

-1 (“one”):当gsql使用-f选项执行脚本时,会在脚本的开头和结尾分别加上START TRANSACTION/COMMIT用以把整个脚本当作一个事务执行。
这将保证该脚本完全执行成功,或者脚本无效。

说明:
如果脚本中已经使用了START TRANSACTION、COMMIT、ROLLBACK,则该选项无效。

4.1.7 -q 的使用
[omm@master01 dn]$ gsql -d postgres -p 15400 -q
openGauss=#
 

-q:安静模式,执行时不会打印出额外信息

4.1.8 -o 的使用
gsql -d postgres -p 15400 -o /home/omm/out.txt -c “select * from tb1”

通过查看out.txt,可以看到查询的结果已经存放到文件中

-o:将所有查询输出重定向到文件FILENAME

4.2、gsql元命令:
常用元命令介绍演示:

\l[+]:列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限
 

\db[+]:列出所有可用的表空间
 

\c :连接到一个新的数据库
 

\d:列出当前模式下所有的表、视图和序列

\di:索引

\ds:序列

\dv:视图

\du:列出所有数据库角色

\df:列出所有可用函数

\dt tb1:表的信息

\h:给出指定SQL语句的语法帮助

相关文章:

详解openGauss客户端工具gsql的高级用法

前言: gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性,便于用户使用。 gsql的基本功能 连接数据库&…...

开源工业软件:SCADA系统开源

PyScada是一个开源的scada系统 源代码地址 http://www.gitpp.com/huangtomy/pyscada-cn SCADA系统是Supervisory Control And Data Acquisition的缩写,即数据采集与监视控制系统。它是以计算机为基础的DCS与电力自动化监控系统,应用领域非常广&#x…...

关于AI彩票预测算法的设想

本文以双色球选择红色6个号码为例 我们先把问题简化,双色球红色号码一共有33个球。摇奖时,每次随机摇出来一个号码,连续6次,就随机出来了6个红色球号码。 而这6个号码就是一注彩票里的前6个红色球号码。这里不讨论一注彩票里后端…...

设计模式之策略模式实践

设计模式之策略模式实践 先了解一下策略模式的定义是什么?解决什么问题 策略模式是一种行为设计模式,它定义了一系列算法,将每个算法封装成一个类,并使它们可以互相替换。策略模式允许客户端在运行时从可互换的算法中选择一个&a…...

讨论:解决哈希冲突的几种方法

1. 什么是哈希 哈希是通过对数据进行再压缩,提高效率的一种解决方法。 2. 什么时候会产生哈希冲突 通过哈希函数产生的哈希值是有限的,当数据量比较大时经过哈希函数处理后仍然有不同的数据对应相同的值。这时候就产生了哈希冲突。 3. 常见的哈希函数 1&…...

遥感分析时什么情况下需要做大气校正?

经常会遇到这样的问题:什么情况需要做大气校正产生?这个问题取决于传感器和应用目标,总的来说,如果要做光谱分析,那么大气校正是必须要做的。本文对于在什么情况下选择什么样的大气校正方法,给出了一些依据…...

设计模式学习笔记 - 设计原则 - 7.DRY 原则及提高代码复用性

前言 DRY 原则,英文描述为: Don’t Repeat Yourself。中文直译:不要重复自己。将它应用在编程中,可理解为:不要写重读的代码。 可能你认为,这个原则很简单。只要两段代码长得一样,那就是违反 …...

方法的调用

自定函数(方法) 函数(方法): 给定一个具有独立功能的代码片段进行"命名",并通过该该类名调用"方法" main主函数 在当前类中,可以直接调用方法(因为方法使用了static关键字) package study;import java.time.LocalDate; import java.time.format.Date…...

VGW在 Windows 平台上局域网就绪的旁路由器程序

在查阅本篇文章之前可以查看下,本人前两年写的关于VGW软件路由器的文章 Linux 平台上面单网卡 TUN/TAP实现局域网其它设备上网_linux 物理网卡与tun同网段-CSDN博客 VGW软件路由器是一个工作IEEE以太网(L2)链路层的路由器程序,它…...

能源大数据采集,为您提供专业数据采集服务

随着经济的不断发展,能源产业也逐渐成为国民经济的支柱产业之一。而对于能源行业来说,数据采集是一项至关重要的工作。以往,能源企业采集数据主要依靠人工收集、整理,但是这种方式不仅效率低下,而且容易出现数据不准确…...

01_Maven

文章目录 Maven安装MavenMaven的工作流程配置MavenMaven的使用module和project的关系如何用Maven导包 如何用Maven进行项目构建指令介绍clean指令compile指令package指令install指令 Maven的依赖管理如何导包scope作用域依赖传递依赖冲突 使用Maven开发项目Junit如何使用Junit …...

C语言题目练习

目录 前言 1、转置矩阵 1.1 题目 描述 输入描述: 输出描述: 1.2解题 分析: 程序: 2、KiKi判断上三角矩阵 2.1 题目 描述 输入描述: 输出描述: 2.2 解题 分析: 程序: 3、…...

物联网安全|TrustAsia助力PSWG应对全球物联网产品安全合规挑战

万物互联时代,随着物联网连接数快速增长,物联网设备的潜在网络安全隐患也日益增长,可能导致设备故障、数据被盗、篡改、隐私泄露等问题的发生,甚至成为网络攻击的跳板,对互联网基础设施构成严重威胁。 我们看到&#…...

基于单片机的医院输液系统设计

目 录 摘 要 Ⅰ Abstract Ⅱ 引 言 1 1系统方案设计与论证 3 1.1系统硬件结构总体设计方案 3 1.2点滴速度测量电路方案的选择与论证 3 1.3液面检测电路方案的选择与论证 4 1.4通过电机控制滴速电路的方案与论证 4 1.5显示器接口电路方案选择与论证 5 1.6键盘接口电路方案选择与…...

安卓简单登录

注意 有的朋友不知道登录咋写,这里我就简单给出相应代码,用的本地存储,没用网络请求,有需要可以替换成想要的,废话不多上代码 登录 import androidx.appcompat.app.AppCompatActivity;import android.content.Context…...

【计算机网络】DNS/ICMP协议/NAT技术

文章目录 一、DNS(Domain Name System)1.DNS背景2.域名3.浏览器中输入url后,发生的事情 二、ICMP协议1.什么是ICMP协议2.ICM功能3.ICMP的报文格式4.ping命令5.traceroute命令 三、NAT技术1.NAT技术背景2.NAT IP转换过程3.NAPT4.NAT技术的缺陷5.NAT和代理服务器 四、TCP/IP五层模…...

2403C++,C++20协程通道

原文 通道是一个可用来连接协程,实现不同协程间通信的并发安全队列. Test fun test know channel() runBlocking<Unit> {val channel Channel<Int>()//生产者val producer GlobalScope.launch {var i 0while (true) {delay(1000)channel.send(i)println("…...

C语言从入门到实战——预处理详解

预处理详解 前言一、预定义符号1.1 __FILE__1.2__LINE__1.3 __DATE__1.4__TIME__1.5__STDC__ 二、 #define定义常量三、 #define定义宏四、 带有副作用的宏参数五、 宏替换的规则六、宏函数的对比七、 #和##7.1 #运算符7.2 ##运算符 八、 命名约定九、 #undef十、命令行定义十一…...

【LabVIEW FPGA】CIC滤波器

一、CIC滤波器应用概述 在通信数字信号上下变频时&#xff0c;经常会用到对数字信号的升采样和降采样&#xff0c;即通过CIC数字速率器实现变采样率。 二、滤波器IP 首先设置滤波器基本参数&#xff08;filter specification&#xff09; 滤波器类型&#xff08;Filter Type…...

砝码称重 蓝桥杯

在C中&#xff0c;fabs()和abs()都用于计算数字的绝对值&#xff0c;但它们之间有一些区别。 fabs(double x)&#xff1a;计算浮点数x的绝对值&#xff0c;返回一个double类型的结果。 abs(int x)&#xff1a;计算整数x的绝对值&#xff0c;返回一个int类型的结果。 数组的默…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...