提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《美创科技隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于美创

    申请试用
      运维日记|postgresql-利剑出鞘-psql出手,天下我有
      发布时间:2020-03-09 阅读次数: 257 次

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


      在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中控制输出格式的方式!


      常用的如下:

       : 去掉列名和(n rows),只显示结果。

      : 去掉结果之间的空格。


      效果如下:


      这样就非常方便取值。甚至中间的分割符也可以修改。


      例如:pset fieldsep & 。这样分隔符就变成了 “&“。


      或者pset fieldsep_zero on 取消分隔符。当然pset 还有其他用法,通过 pset option value 设置,这里就不一一赘述了!


      温馨提示:pset设置仅当前会话生效!


      No.4

      高级特性之变量设置



      psql中可以像脚本语言一样去设置变量。如下:

      看到了吗!变量既可以作为一个值插入,也可以作为一个近义词!


      区别在于:作为值的时候,要用冒号加上单引号,作为近义词时,要用冒号加上双引号或者不加双引号。


      No.5

      高级特性之自动运维脚本添加



      很多时候,需要快速的去查看数据库的相关信息,如果能节约输入命令的时间,这是最好不过了。psql就提供了这样一种方式,类似于secureCRT中的按钮栏(如下截图所示),可以快速执行命令。


      编辑 postgresql管理用户家目录下下的 .psqlrc文件。格式为 set 自定义名字 ‘查询内容’。


      注意:查询内容中有引号需要转义符转义!如下例子:


      让我们看下效果:

      可以看到,直接 :自定义名字 就可以查询!


      psql的用法除了上述其实还有很多,这里就介绍这些比较常用的,其他的小伙伴们可以自己探索!

      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部