通过客户端工具执行SQL
使用客户端工具连接到openGauss执行单条SQL和批量SQL文件。
前提条件
已通过客户端工具连接到openGauss,连接方法请参见gsql客户端连接。
执行单条SQL
方法一:
- 以操作系统用户omm登录数据库主节点。
使用gsql连接到openGauss服务器。
gsql -h 10.180.123.163 -d postgres -U jack -p 8000 -r
-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息。
说明: 若未指定数据库名称,则使用初始化时默认生成的数据库名称;若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名;当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d)则该参数会被解释成数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U)时,该参数则会被解释成数据库用户名。
执行SQL语句。
以创建数据库human_staff为例。
CREATE DATABASE human_staff;
通常,输入的命令行在遇到分号的时候结束。如果输入的命令行没有错误,结果就会输出到屏幕上。
方法二:
- 以操作系统用户omm登录数据库主节点。
执行如下命令中的SQL语句。
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。使用该语句时,该用户需要具有相应的权限。
执行批量文件
- 以操作系统用户omm登录数据库主节点。
使用gsql连接到数据库,然后使用文件作为命令源而不是交互式输入,gsql将在处理完文件后结束。
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作为命令源。