描述:当前数据库的名称(在标准SQL中称“catalog”)。
返回值类型:name
示例:
gbase=# SELECT current_catalog;
current_database
------------------
postgres
(1 row)
描述:当前数据库的名称。
返回值类型:name
示例:
gbase=# SELECT current_database();
current_database
------------------
postgres
(1 row)
描述:由客户端提交的当前执行语句(可能包含多个声明)。
返回值类型:text
示例:
gbase=# SELECT current_query();
current_query
-------------------------
SELECT current_query();
(1 row)
描述:当前模式的名称。
返回值类型:name
示例:
gbase=# SELECT current_schema();
current_schema
----------------
public
(1 row)
备注:current_schema返回在搜索路径中第一个顺位有效的模式名。(如果搜索路径为空则返回NULL,没有有效的模式名也返回NULL)。如果创建表或者其他命名对象时没有声明目标模式,则将使用这些对象的模式。
描述:搜索路径中的模式名称。
返回值类型:name[]
示例:
gbase=# SELECT current_schemas(true);
current_schemas
---------------------
{pg_catalog,public}
(1 row)
备注:
current_schemas(Boolean)返回搜索路径中所有模式名称的数组。布尔选项决定像pg_catalog这样隐含包含的系统模式是否包含在返回的搜索路径中。
搜索路径可以通过运行时设置更改。命令是:
SET search_path TO schema [, schema, ...]
描述:当前执行环境下的用户名。
返回值类型:name
示例:
gbase=# SELECT current_user;
current_user
--------------
gbase
(1 row)
备注:current_user是用于权限检查的用户标识,通常表示会话用户,但可以通过SET ROLE命令改变。在函数执行的过程中,若SECURITY DEFINER属性改变,其值也会改变。
描述:当前执行环境下的用户名。
返回值类型:name
示例:
gbase=# SELECT definer_current_user();
definer_current_user
----------------------
gbase
(1 row)
描述:当前执行环境下的会话ID。
返回值类型:text
示例:
gbase=# SELECT pg_current_sessionid();
pg_current_sessionid
----------------------------
1652864557.140573668599552
(1 row)
备注:pg_current_sessionid()是用于获取当前执行环境下的会话ID。其组成结构为:时间戳.会话ID,当线程池模式开启(enable_thread_pool=on)时,会话ID为SessionID;而线程池模式关闭时,会话ID为ThreadID。
描述:当前执行环境下的会话ID。
返回值类型:text
示例:
gbase=# select pg_current_sessid();
pg_current_sessid
-------------------
140573668599552
(1 row)
备注:在线程池模式下获得当前会话的会话ID,非线程池模式下获得当前会话对应的后台线程ID。
描述:当前用户ID。
返回值类型:text
gbase=# SELECT pg_current_userid();
pg_current_userid
-------------------
10
(1 row)
描述:版本序号信息。返回一个系统兼容性有关的版本序号。
返回值类型:int
示例:
gbase=# SELECT working_version_num();
working_version_num
---------------------
92605
(1 row)
描述: 根据表空间oid,查找表空间名称。
返回值类型:text
示例:
gbase=# select tablespace_oid_name(1663);
tablespace_oid_name
---------------------
pg_default
(1 row)
描述:连接的远端地址。inet_client_addr返回当前客户端的IP地址。
此函数只有在远程连接模式下有效。
返回值类型:inet
示例:
gbase=# SELECT inet_client_addr();
inet_client_addr
------------------
10.10.0.50
(1 row)
描述:连接的远端端口。inet_client_port返回当前客户端的端口号。
此函数只有在远程连接模式下有效。
返回值类型:int
示例:
gbase=# SELECT inet_client_port();
inet_client_port
------------------
33143
(1 row)
描述:连接的本地地址。inet_server_addr返回服务器接收当前连接用的IP地址。
此函数只有在远程连接模式下有效。
返回值类型:inet
示例:
gbase=# SELECT inet_server_addr();
inet_server_addr
------------------
10.10.0.13
(1 row)
描述:连接的本地端口。inet_server_port返回接收当前连接的端口号。如果是通过Unix-domain socket连接的,则所有这些函数都返回NULL。
此函数只有在远程连接模式下有效。
返回值类型:int
示例:
gbase=# SELECT inet_server_port();
inet_server_port
------------------
8000
(1 row)
描述:当前会话连接的服务进程的进程ID。
返回值类型:int
示例:
gbase=# SELECT pg_backend_pid();
pg_backend_pid
-----------------
140573668599552
(1 row)
描述:配置加载时间。pg_conf_load_time返回最后加载服务器配置文件的时间戳。
返回值类型:timestamp with time zone
示例:
gbase=# SELECT pg_conf_load_time();
pg_conf_load_time
-------------------------------
2022-05-05 14:33:02.197289+08
(1 row)
描述:会话的临时模式的OID,不存在则为0。
返回值类型:oid
示例:
gbase=# SELECT pg_my_temp_schema();
pg_my_temp_schema
-------------------
0
(1 row)
备注:pg_my_temp_schema返回当前会话中临时模式的OID,如果不存在(没有创建临时表)的话则返回0。如果给定的OID是其它会话中临时模式的OID,pg_is_other_temp_schema则返回true。
描述:是否为另一个会话的临时模式。
返回值类型:Boolean
示例:
gbase=# SELECT pg_is_other_temp_schema(25356);
pg_is_other_temp_schema
-------------------------
f
(1 row)
描述:会话正在侦听的信道名称。
返回值类型:setof text
示例:
gbase=# SELECT pg_listening_channels();
pg_listening_channels
-----------------------
(0 rows)
备注:pg_listening_channels返回当前会话正在侦听的一组信道名称。
描述:服务器启动时间。pg_postmaster_start_time返回服务器启动时的timestamp with time zone。
返回值类型:timestamp with time zone
示例:
gbase=# SELECT pg_postmaster_start_time();
pg_postmaster_start_time
-------------------------------
2022-05-05 11:59:14.394307+08
(1 row)
描述:获取规则的CREATE RULE命令。
返回值类型:text
示例:
gbase=# select * from pg_get_ruledef(24828);
pg_get_ruledef
----------------
-
(1 row)
描述: 从sessionid中得到pid信息(例如,gs_session_stat中sessid列)。
返回值类型: int8
示例:
gbase=# select sessionid2pid(sessid::cstring) from gs_session_stat limit 2;
sessionid2pid
-----------------
140574146287360
140574146287360
(2 rows)
描述:触发器的嵌套层次。
返回值类型:int
示例:
gbase=# SELECT pg_trigger_depth();
pg_trigger_depth
------------------
0
(1 row)
描述:会话用户名。
返回值类型:name
示例:
gbase=# SELECT session_user;
session_user
--------------
gbase
(1 row)
备注:session_user通常是连接当前数据库的初始用户,不过系统管理员可以用SET SESSION AUTHORIZATION修改这个设置。
描述:等价于current_user。
返回值类型:name
示例:
gbase=# SELECT user;
current_user
--------------
gbase
(1 row)
描述:获取数据库用户名。
返回值类型:name
示例:
gbase=# select getpgusername();
getpgusername
---------------
gbase
(1 row)
描述:获取数据库编码方式。
返回值类型:name
示例:
gbase=# select getdatabaseencoding();
getdatabaseencoding
---------------------
SQL_ASCII
(1 row)
描述:版本信息。version返回一个描述服务器版本信息的字符串。
返回值类型:text
示例:
gbase=# select version();
version
------------------------------------------------------------------
------------------------------------------------------------------
---------------------------------
single_node (GBase8c 3.0.0B06 build 19f48e93) compiled at 2022-04
-29 14:37:48 commit 0 last mr 36 on x86_64-unknown-linux-gnu, com
piled by g++ (GCC) 7.3.0, 64-bit
(1 row)
描述:兼容openGauss的版本信息。
返回值类型:text
示例:
gbase=# select opengauss_version();
opengauss_version
-------------------
3.0.0
(1 row)
描述:当前系统的部署形态信息。
返回值类型:text
示例:
gbase=# select gs_deployment();
gs_deployment
-----------------------
OpenSourceCentralized
(1 row)
描述:返回当前节点的hostname。
返回值类型:text
示例:
gbase=# SELECT get_hostname();
get_hostname
--------------
gbase8c_7_16
(1 row)
描述:返回当前节点的名字。
返回值类型:text
示例:
gbase=# SELECT get_nodename();
get_nodename
--------------
dn1
(1 row)
描述:返回查询schema的oid。
返回值类型:oid
示例:
gbase=# SELECT get_schema_oid('public');
get_schema_oid
----------------
2200
(1 row)
描述:返回客户端信息。
返回值类型:record