南大通用GBase 8c gsql常用元命令

6 阅读5分钟

原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

本文系统性地梳理与解析 GBase 8c 附带的交互式客户端工具 gsql 中,一系列非 SQL 标准的元命令(Meta-Commands)的功能、语法。
这些命令虽未被纳入 SQL 规范,但其能极大地提升数据库的管理效率、简化开发调试流程,因而在实际运维与开发工作中扮演着不可或缺的角色。gsql 的元命令集作为其交互式界面的核心组件,极大地增强了数据库的可操作性与管理效率。熟练掌握这些命令,对于提升日常的数据查询、对象管理及系统调试工作流至关重要。
以下是相关参数及参数说明。

  • \h(\help) [NAME]
    给出指定 SQL 语句的语法帮助。
  • \copy { table [ ( column_list ) ] | ( query ) } { from | to } { filename | stdin | stdout | pstdin | pstdout } [ with ] [ binary ] [ oids ] [ delimiter [ as ] 'character' ] [ null [ as ] 'string' ] [ CSV [ header ] [ quote [ as ] 'character' ] [ escape [ as ] 'character' ]
    在任何 psql 客户端登录数据库成功后可以执行导入导出数据, 这是一个运行 SQL COPY 命令的操作,但不是读取或写入指定文件的服务器,而是读取或写入文件,并在服务器和本地文件系统之间路由数据。 这意味着文件的可访问性和权限是本地用户的权限,而不是服务器的权限,并且不需要数据库初始化用户权限。
  • \echo [STRING]
    把字符串写到标准输出。
  • \i FILE
    从文件 FILE 中读取内容,并将其当作输入,执行查询。
  • \o [FILE]
    把所有的查询结果发送到文件里。
  • \qecho [STRING]
    把字符串写到查询结果输出流里。
  • \d[S+]
    列出当前 search_path 中模式下所有的表、视图和序列。当 search_path 中不同模式存在同名对象时,只显示 search_path 中位置靠前模式下的同名对象。
  • \d[S+] NAME
    列出指定表、视图和索引的结构。
  • \d+ [PATTERN]
    列出所有表、视图和索引。
  • \da[S] [PATTERN]
    列出所有可用的聚集函数以及它们操作的数据类型和返回值类型。
  • \db[+] [PATTERN]
    列出所有可用的表空间。
  • \dC[+] [PATTERN]
    列出所有类型转换。
  • \ddp [PATTERN]
    显示所有默认的使用权限。
  • \det[+] [PATTERN]
    列出所有的外部表。
  • \des[+] [PATTERN]
    列出所有的外部服务器。
  • \deu[+] [PATTERN]
    列出用户映射信息。
  • \dew[+] [PATTERN]
    列出封装的外部数据。
  • \df[antw][S+] [PATTERN]
    列出所有可用函数以及它们的参数和返回的数据类型。a 代表聚集函数,n 代表普通函数,t 代表触发器,w 代表窗口函数。
  • \dF[+] [PATTERN]
    列出所有的文本搜索配置信息。
  • \dFd[+] [PATTERN]
    列出所有的文本搜索字典。
  • \dFp[+] [PATTERN]
    列出所有的文本搜索分析器。
  • \dFt[+] [PATTERN]
    列出所有的文本搜索模板。
  • \dg[+] [PATTERN]
    列出所有数据库角色。
    说明:
    因为用户和群组的概念被统一为角色,所以这个命令等价于\du。为了和以前兼容,所以保留两个命令。
  • \dl
    \lo_list 的别名,显示一个大对象的列表。
  • \dm[S+] [PATTERN]
    列出物化视图。
  • \dn[S+] [PATTERN]
    列出所有的模式(名称空间)。
  • \do[S] [PATTERN]
    列出所有可用的操作符以及它们的操作数和返回的数据类型。
  • \dO[S+] [PATTERN]
    列出排序规则。
  • \dp [PATTERN]
    列出一列可用的表、视图以及相关的权限信息。
  • \dT[S+] [PATTERN]
    列出所有的数据类型。
  • \du[+] [PATTERN]
    列出所有数据库角色。
    说明:
    因为用户和群组的概念被统一为角色,所以这个命令等价于\dg。为了和以前兼容,所以保留两个命令。
  • \dE[S+] [PATTERN]
    \di[S+] [PATTERN]
    \ds[S+] [PATTERN]
    \dt[S+] [PATTERN]
    \dv[S+] [PATTERN]
    这一组命令,字母 E、i、s、t 和 v 分别代表着外部表、索引、序列、表和视图。可以以任意顺序指定其中一个或者它们的组合来列出这些对象。例如:\dit 列出所有的索引和表。在命令名称后面追加 +,则每一个对象的物理尺寸以及相关的描述也会被列出。
  • \dx[+] [PATTERN]
    列出安装数据库的扩展信息。
  • \l[+]
    列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。
  • \sf[+] FUNCNAME
    显示函数的定义。
    说明:
    对于带圆括号的函数名,需要在函数名两端添加双引号,并且在双引号后面加上参数类型列表。参数类型列表两端添加圆括号。
  • \z [PATTERN]
    列出数据库中所有表、视图和序列以及它们相关的访问特权。
  • \c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
    连接到一个新的数据库(当前数据库为 postgres)。当数据库名称长度超过 63 个字节时,默认前 63 个字节有效,连接到前 63 个字节对应的数据库,但是 gsql 的命令提示符中显示的数据库对象名仍为截断前的名称。
    说明:
    重新建立连接时,如果切换数据库登录用户,将可能会出现交互式输入,要求输入新用户的连接密码。
  • \encoding [ENCODING]
    设置客户端字符编码格式。
  • \conninfo
    输出当前连接的数据库的信息。
  • \timing [on|off]
    以毫秒为单位显示每条 SQL 语句的执行时间(不包括屏显打印时间)。
  • \q
    退出 gsql 程序。
    在一个脚本文件里,只在脚本终止的时候执行。

原文链接:www.gbase.cn/community/p…
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。