网站首页 > 文章精选 正文
小编最近看了电影《利剑出鞘》,结局中,反派错拿了一把道具刀导致报复失败,所以说,选对工具很重要。
在postgresql数据库中,有这样一个工具不得不提,那就是psql,掌握好psql,那么在运维管理postgresql中,将如鱼得水,无往不利。
作为一种交互式终端,psql之于postgresql,就如sqlplus之于oracle,但是psql的功能却比sqlplus强大的多得多!
下面,小编将介绍psql的详细用法,从最常用的开始,到psql的高级特性!
No.1
连接数据库
首先从最简单的连接数据库开始!例子如下:
-U 指定用,default postgres。
-d 指定数据库。
-h 指定服务器, default: "local socket"。
-p 指定端口,default 5432。
-W 强制在连接数据库前输入密码。
No.2
交互查询信息
一般情况下,如果我们想要获取数据库的信息,需要完整的查询命令,比如:
对于懒人来说,能减少输入的工作无疑是非常令人开心的。,在psql中就是这样一个懒人工具,提供缩写命令,往往2、3个字符,就可以得到你想要的结果!
比如和上述例子中同样效果,仅需输入 “\l” !
更贴心的是,即便这些简单的快捷命令您也不需记忆,输入”\?” ,命令和解释一应俱全!
如果想知道这些快捷命令底层调用的语句是什么,只需要在pslq登陆的时候,加上 “-E”即可!
除了查询命令,psql连建立、修改对象的语法都可以直接看到,“\h (命令)“。psql工具真的是使用者的“小棉袄”!
No.3
控制输出格式
数据库自动化监控需求的日益增长,为了方便变量的代入,输出格式愈发重要。下面来看看psql中控制输出格式的方式!
常用的如下:
\t : 去掉列名和(n rows),只显示结果。
\a : 去掉结果之间的空格。
效果如下:
这样就非常方便取值。甚至中间的分割符也可以修改。
例如:\pset fieldsep & 。这样分隔符就变成了 “&“。
或者\pset fieldsep_zero on 取消分隔符。当然\pset 还有其他用法,通过 \pset option value 设置,这里就不一一赘述了!
温馨提示:\pset设置仅当前会话生效!
No.4
高级特性之变量设置
psql中可以像脚本语言一样去设置变量。如下:
看到了吗!变量既可以作为一个值插入,也可以作为一个近义词!
区别在于:作为值的时候,要用冒号加上单引号,作为近义词时,要用冒号加上双引号或者不加双引号。
No.5
高级特性之自动运维脚本添加
很多时候,需要快速的去查看数据库的相关信息,如果能节约输入命令的时间,这是最好不过了。psql就提供了这样一种方式,类似于secureCRT中的按钮栏(如下截图所示),可以快速执行命令。
编辑 postgresql管理用户家目录下下的 .psqlrc文件。格式为 \set 自定义名字 ‘查询内容’。
注意:查询内容中有引号需要转义符转义!如下例子:
让我们看下效果:
可以看到,直接 :自定义名字 就可以查询!
psql的用法除了上述其实还有很多,这里就介绍这些比较常用的,其他的小伙伴们可以自己探索!
猜你喜欢
- 2025-05-21 Zabbix7 keepalived VIP高可用部署 对接 OceanBase高可用集群
- 2025-05-21 GORM 完全指南:从入门到精通,轻松玩转 MySQL 数据库
- 2025-05-21 PostgreSQL 技术内幕(五)Greenplum-Interconnect模块
- 2025-05-21 Windows深度解析: WSL 1 与 WSL 2 的核心差异及选择指南
- 2025-05-21 PostgreSQL技术大讲堂 - 第44讲:pg流复制部署
- 2025-05-21 小白入门必知必会-PostgreSQL-15.2源码编译安装
- 2025-05-21 什么是网络端口?或许工作10年的人也很难100%理解
- 2025-05-21 Linux 防火墙怎么开?3 分钟学会放行 80 端口,再也不怕远程连接被拒
- 2025-05-21 PostgreSQL轻量级连接池 PgBouncer
- 2025-05-21 Docker安装与管理postgresql
- 05-22离线在docker镜像方式部署ragflow0.17.2
- 05-22【Docker 新手入门指南】第七章:镜像使用
- 05-22使用Docker制作OpenJDK镜像
- 05-22使用Dockerfile build镜像
- 05-22一文详解Docker轻量级虚拟化,镜像和容器
- 05-22三 docker 镜像命令
- 05-22Docker-使用Dockerfile 定制镜像
- 05-22Linux日常小技巧Docker打包
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)