openGauss SQL参考—函数和操作符:系统信息函数(1)
系统信息函数
会话信息函数
-
current_catalog
描述:当前数据库的名称(在标准SQL中称“catalog”)。
返回值类型:name
示例:
openGauss=# SELECT current_catalog; current_database ------------------ openGauss (1 row) -
current_database()
描述:当前数据库的名称。
返回值类型:name
示例:
openGauss=# SELECT current_database(); current_database ------------------ openGauss (1 row) -
current_query()
描述:由客户端提交的当前执行语句(可能包含多个声明)。
返回值类型:text
示例:
openGauss=# SELECT current_query(); current_query ------------------------- SELECT current_query(); (1 row) -
current_schema[()]
描述:当前模式的名称。
返回值类型:name
示例:
openGauss=# SELECT current_schema(); current_schema ---------------- public (1 row)备注:current_schema返回在搜索路径中第一个顺位有效的模式名。(如果搜索路径为空则返回NULL,没有有效的模式名也返回NULL)。如果创建表或者其他命名对象时没有声明目标模式,则将使用这些对象的模式。
-
schema
描述:当前模式的名称。
返回值类型:name
示例:
openGauss=# SELECT schema(); schema -------- public (1 row)备注:与current_schema同义
-
current_schemas(Boolean)
描述:搜索路径中的模式名称。
返回值类型:name[]
示例:
openGauss=# SELECT current_schemas(true); current_schemas --------------------- {pg_catalog,public} (1 row)备注:
current_schemas(Boolean)返回搜索路径中所有模式名称的数组。布尔选项决定像pg_catalog这样隐含包含的系统模式是否包含在返回的搜索路径中。
说明: 搜索路径可以通过运行时设置更改。命令是:SET search_path TO schema [, schema, ...] -
current_user
描述:当前执行环境下的用户名。
返回值类型:name
示例:
openGauss=# SELECT current_user; current_user -------------- omm (1 row)备注:current_user是用于权限检查的用户标识。通常,他表示会话用户,但是可以通过SET ROLE改变他。在函数执行的过程中随着属性SECURITY DEFINER的改变,其值也会改变。
-
definer_current_user
描述:当前执行环境下的用户名。
返回值类型:name
示例:
openGauss=# SELECT definer_current_user(); definer_current_user ---------------------- omm (1 row) -
pg_current_sessionid()
描述:当前执行环境下的会话ID。
返回值类型:text
示例:
openGauss=# SELECT pg_current_sessionid(); pg_current_sessionid ---------------------------- 1579228402.140190434944768 (1 row)备注:pg_current_sessionid()是用于获取当前执行环境下的会话ID。其组成结构为:时间戳.会话ID,当线程池模式开启(enable_thread_pool=on)时,会话ID为SessionID;而线程池模式关闭时,会话ID为ThreadID。
-
pg_current_sessid
描述:当前执行环境下的会话ID。
返回值类型:text
示例:
openGauss=# select pg_current_sessid(); pg_current_sessid ------------------- 140308875015936 (1 row)备注:在线程池模式下获得当前会话的会话ID,非线程池模式下获得当前会话对应的后台线程ID。
-
pg_current_userid
描述:当前用户ID。
返回值类型:text
openGauss=# SELECT pg_current_userid(); pg_current_userid ------------------- 10 (1 row) -
working_version_num()
描述:版本序号信息。返回一个系统兼容性有关的版本序号。
返回值类型:int
示例:
openGauss=# SELECT working_version_num(); working_version_num --------------------- 92231 (1 row) -
tablespace_oid_name()
描述: 根据表空间oid,查找表空间名称。
返回值类型:text
示例:
openGauss=# select tablespace_oid_name(1663); tablespace_oid_name --------------------- pg_default (1 row) -
inet_client_addr()
描述:连接的远端地址。inet_client_addr返回当前客户端的IP地址。
说明: 此函数只有在远程连接模式下有效。返回值类型:inet
示例:
openGauss=# SELECT inet_client_addr(); inet_client_addr ------------------ 10.10.0.50 (1 row) -
inet_client_port()
描述:连接的远端端口。inet_client_port返回当前客户端的端口号。
说明: 此函数只有在远程连接模式下有效。返回值类型:int
示例:
openGauss=# SELECT inet_client_port(); inet_client_port ------------------ 33143 (1 row) -
inet_server_addr()
描述:连接的本地地址。inet_server_addr返回服务器接收当前连接用的IP地址。
说明: 此函数只有在远程连接模式下有效。返回值类型:inet
示例:
openGauss=# SELECT inet_server_addr(); inet_server_addr ------------------ 10.10.0.13 (1 row) -
inet_server_port()
描述:连接的本地端口。inet_server_port返回接收当前连接的端口号。如果是通过Unix-domain socket连接的,则所有这些函数都返回NULL。
说明: 此函数只有在远程连接模式下有效。返回值类型:int
示例:
openGauss=# SELECT inet_server_port(); inet_server_port ------------------ 8000 (1 row)

浙公网安备 33010602011771号