更新时间:2024-11-12 GMT+08:00
分享

使用gsql连接

gsql是GaussDB提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何使用gsql连接数据库,关于gsql使用方法的更多信息请参考《工具参考》中“客户端工具 > gsql”章节。

注意事项

缺省情况下,客户端连接数据库后处于空闲状态时会根据GUC参数session_timeout的默认值自动断开连接。如果要关闭超时设置,设置GUC参数session_timeout为0即可。

前提条件

已联系管理员获取连接信息。

远程连接数据库

  1. 完成远程连接配置,请联系管理员处理
  2. 在客户端机器上,上传客户端工具包并配置gsql的执行环境变量。此处以openEuler环境为例。

    1. 登录客户端机器。
    2. 在“/tmp”目录下创建“tools”(“/tmp/tools”目录仅为示例,也可创建其他目录)。
      mkdir /tmp/tools
    3. 获取软件安装包中的“GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_gsql.tar.gz”上传到“/tmp/tools”路径下。
      • 软件包相对位置为安装时所放位置,根据实际情况填写。
      • 不同的操作系统,工具包文件名称会有差异。请根据实际的操作系统类型选择对应的工具包。
    4. 解压文件。
      cd /tmp/tools
      tar -zxvf GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_gsql.tar.gz
    5. 登录数据库主节点所在的服务器,复制数据库安装目录下的bin目录到客户端主机的“/tmp/tools”路径下。
      scp -r /opt/huawei/install/app/bin root@10.10.0.30:/tmp/tools

      其中,/opt/huawei/install/app为clusterconfig.xml文件中配置的{gaussdbAppPath}路径,10.10.0.30为客户端主机IP。

    6. 登录客户端所在主机,设置环境变量。

      打开“~/.bashrc”文件。

      vi ~/.bashrc

      在其中输入如下内容后,使用“:wq!”命令保存并退出。

      export PATH=/tmp/tools/bin:$PATH
      export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH
    7. 使环境变量配置生效。
      source ~/.bashrc

  3. 连接数据库。

    数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。

    gsql -d postgres -h 10.10.0.11 -U jack -p 8000
    Password for user jack:

    postgres为需要连接的数据库名称,10.10.0.11为数据库主节点所在的服务器IP地址,jack为连接数据库的用户,8000为数据库主节点的端口号。gsql支持使用域名代替IP地址。

    在集中式数据库实例环境中,当需要连接主节点时,比如数据库实例三个节点的IP是10.10.0.11,10.10.0.12,10.10.0.13时,可以使用gsql -d postgres -h 10.10.0.11,10.10.0.12,10.10.0.13 -U jack -p 8000,gsql会按从前往后的顺序依次连接三个IP,如果当前连接的IP地址不是主节点则断开尝试连接下一个IP地址,直到找到主节点为止。可通过设置PGTARGETSESSIONATTRS环境变量的值来选择连接到不同类型的节点,更多信息请参见《工具参考》中“客户端工具 > gsql”章节host参数的说明。

    以下命令演示了使用IPv6地址连接数据库。

    gsql -d postgres -h 2407:c182:14f0:594:er63:49c5:493q:594c -U jack -p 8000
    • 连接GaussDB的机器与GaussDB不在同一网段时,-h指定的IP地址应为Manager界面上所设的coo.cooListenIp2(应用访问IP)的取值。
    • 默认禁止使用数据库初始化用户进行远程连接数据库,开启集群内部kerberos认证时,允许初始化用户在集群内部进行远程连接。

相关文档