通过客户端工具执行SQL

使用客户端工具连接到openGauss执行单条SQL和批量SQL文件。

前提条件

已通过客户端工具连接到openGauss,连接方法请参见gsql客户端连接

执行单条SQL

方法一:

  1. 以操作系统用户omm登录数据库主节点。
  2. 使用gsql连接到openGauss服务器。

    1. gsql -h 10.180.123.163 -d postgres -U jack -p 8000 -r

    -d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息。

    通过客户端工具执行SQL - 图1 说明: 若未指定数据库名称,则使用初始化时默认生成的数据库名称;若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名;当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d)则该参数会被解释成数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U)时,该参数则会被解释成数据库用户名。

  3. 执行SQL语句。

    以创建数据库human_staff为例。

    1. CREATE DATABASE human_staff;

通常,输入的命令行在遇到分号的时候结束。如果输入的命令行没有错误,结果就会输出到屏幕上。

方法二:

  1. 以操作系统用户omm登录数据库主节点。
  2. 执行如下命令中的SQL语句。

    1. gsql -d postgres -h 10.29.103.168 -U jack -p 8000 -W Gauss@123 -c 'CREATE DATABASE human_staff'

    gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息,-c参数指定需要执行的SQL。使用该语句时,该用户需要具有相应的权限。

执行批量文件

  1. 以操作系统用户omm登录数据库主节点。
  2. 使用gsql连接到数据库,然后使用文件作为命令源而不是交互式输入,gsql将在处理完文件后结束。

    1. gsql -h 10.180.123.163 -d postgres -U jack -p 8000 -f /home/omm/staff.sql

    gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息、-f参数指定文件名(绝对路径或相对路径,且满足操作系统路径命名规则)。

    本命令中使用jack用户连接到远程主机postgres数据库的8000端口,并采用文件staff.sql作为命令源。