IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    How to create a PowerShell alias to connect MogDB

    kamus发表于 2021-06-06 09:56:42
    love 0

    MogDB是云和恩墨发布的基于开源数据库openGauss的企业级发行版。在连接串方面兼容标准的PostgreSQL连接方式,而pgcli是连接PostgreSQL的一个优秀客户端程序。本文描述如何在Windows系统的Powershell中设置alias,来简便地连接到MogDB数据库。

    pgcli的安装不再赘述,可以参考pgcli网站中描述的安装方法,比较简单。

    使用pgcli连接数据库,并且同时把密码也放在连接串中完成一条命令就直接登录数据库,例子如下:

     pgcli postgres://amjith:passw0rd@example.com:5432/app_db

    其中每个部分的含义如下:

    • postgres://是标准的数据库类型提示符,不需要变更;
    • amjith是连接数据库的用户名,passw0rd是用户密码;
    • example.com是数据库所在的服务器hostname,可以直接使用IP地址来替换;
    • 5432是数据库监听的端口;
    • app_db是需要连接的数据库名称。

    需要注意的一点是,如果在密码中存在“@”这样的特殊字符,那么需要把@改写成“%40”,比如密码如果是passw0rd@123,则命令行需要写成:

    pgcli postgres://amjith:passw0rd%40123@example.com:5432/app_db

    接下来,我们需要设置一个更简单的alias,比如我习惯使用p1,设置完毕以后,在命令行窗口键入p1以后回车,就可以直接连接到目标数据库。

    如果是macOS,我们可以直接设置.zshrc文件;如果是Linux,可以设置.bash_profile。那么在Windows操作系统中,如果使用Powershell,该如何设置?

    首先,要找到Powershell的配置文件路径,当安装完Powershell之后,进入Powershell命令行。

    PS C:\Users\kamus> echo $profile
    D:\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

    如果没有该文件,则创建该文件,然后使用任何文本编辑器,在该文件中加入以下行。

    Function pgcli_mogdb1 {pgcli --prompt "\u@\d> " postgres://amjith:passw0rd%40123@example.com:5432/app_db}
       Set-Alias -Name p1 -Value pgcli_mogdb1

    因为Set-Alias命令的限制,一整条pgcli命令算是复杂命令,需要先写入到一个function中,然后再调用该function。

    最后的效果如下:

    PS C:\Users\kamus> p1
    Server: PostgreSQL 9.2.4
    Version: 3.1.0
    Chat: https://gitter.im/dbcli/pgcli
    Home: http://pgcli.com
    mogdb@ocomp> select version();
    +-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | version                                                                                                                                                           |
    |-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
    | PostgreSQL 9.2.4 (MogDB 2.0.0 build b75b585a) compiled at 2021-05-28 17:20:47 commit 0 last mr   on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit |
    +-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    SELECT 1
    Time: 0.072s
    mogdb@ocomp>


沪ICP备19023445号-2号
友情链接