运维日记|postgresql-利剑出鞘-psql出手,天下我有

运维日记|postgresql-利剑出鞘-psql出手,天下我有

首页战争策略利剑出鞘更新时间:2024-06-05

小编最近看了电影《利剑出鞘》,结局中,反派错拿了一把道具刀导致报复失败,所以说,选对工具很重要。

在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的用法除了上述其实还有很多,这里就介绍这些比较常用的,其他的小伙伴们可以自己探索!

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved