在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的用法除了上述其实还有很多,这里就介绍这些比较常用的,其他的小伙伴们可以自己探索!
在postgresql数据库中,有这样一个工具不得不提,那就是psql,掌握好psql,那么在运维管理postgresql中,将如鱼得水,无往不利。
作为一种交互式终端,psql之于postgresql,就如sqlplus之于oracle,但是psql的功能却比sqlplus强大的多得多!
下面,小编将介绍psql的详细用法,从最常用的开始,到psql的高级特性!
美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。
来源:freebuf.com 2020-06-04 17:50:09 by: database
请登录后发表评论
注册