更新时间:2024-11-27 GMT+08:00

会话信息函数

current_catalog

描述:当前数据库的名字(在标准SQL中称“catalog”),与current_database()同义。

返回值类型:name

示例:

1
2
3
4
5
SELECT current_catalog;
 current_database
------------------
 gaussdb
(1 row)

current_database()

描述:当前数据库的名字。

返回值类型:name

示例:

1
2
3
4
5
SELECT current_database();
 current_database
------------------
 gaussdb
(1 row)

current_query()

描述:由客户端提交的当前执行语句(可能包含多个声明)。

返回值类型:text

示例:

1
2
3
4
5
SELECT current_query();
      current_query
-------------------------
 SELECT current_query();
(1 row)

current_schema[()]

描述:当前模式的名字。current_schema返回在搜索路径中第一个顺位有效的模式名。(如果搜索路径为空则返回NULL,没有有效的模式名也返回NULL)。如果创建表或者其他命名对象时没有声明目标模式,则将使用这些对象的模式。

返回值类型:name

示例:

1
2
3
4
5
SELECT current_schema();
 current_schema
----------------
 public
(1 row)

current_schemas(boolean)

描述:current_schemas(boolean)返回搜索路径中所有模式名字的数组。布尔选项决定像pg_catalog这样隐含包含的系统模式是否包含在返回的搜索路径中。

返回值类型:name[]

示例:

1
2
3
4
5
SELECT current_schemas(true);
   current_schemas
---------------------
 {pg_catalog,public}
(1 row)

搜索路径可以通过运行时设置更改。命令是:

1
SET search_path TO schema [, schema, ...]

current_user

描述:当前执行环境下的用户名。current_user是用于表示权限检查的用户标识。通常用来表示会话用户,但是可以通过SET ROLE改变。在函数执行的过程中随着属性SECURITY DEFINER的改变,其值也会改变。

返回值类型:name

示例:

1
2
3
4
5
SELECT current_user;
 current_user
--------------
 dbadmin
(1 row)

inet_client_addr()

描述:显示当前连接的客户端IP信息。

  • 此函数只有在远程连接模式下有效。
  • 如果是通过本地连接,使用此接口显示为空。

返回值类型:inet

示例:

1
2
3
4
5
SELECT inet_client_addr();
 inet_client_addr
------------------
 10.10.0.50
(1 row)

inet_client_port()

描述:显示当前连接的客户端的端口号。

此函数只有在远程连接模式下有效。

返回值类型:integer

示例:

1
2
3
4
5
SELECT inet_client_port();
 inet_client_port
------------------
            33143
(1 row)

inet_server_addr()

描述:显示当前服务器的IP信息。

  • 此函数只有在远程连接模式下有效。
  • 如果是通过本地连接,使用此接口显示为空。

返回值类型:inet

示例:

1
2
3
4
5
SELECT inet_server_addr();
 inet_server_addr
------------------
 10.10.0.13
(1 row)

inet_server_port()

描述:显示当前服务器的端口。如果是通过Unix-domain socket连接的,则所有这些函数都返回NULL。

此函数只有在远程连接模式下有效。

返回值类型:integer

示例:

1
2
3
4
5
SELECT inet_server_port();
 inet_server_port
------------------
 8000
(1 row)

pg_backend_pid()

描述:当前会话连接的服务进程的进程ID。

返回值类型:integer

示例:

1
2
3
4
5
SELECT pg_backend_pid();
 pg_backend_pid
-----------------
 140229352617744
(1 row)

pg_conf_load_time()

描述:配置加载时间。pg_conf_load_time返回最后加载服务器配置文件的时间戳。

返回值类型:timestamp with time zone

示例:

1
2
3
4
5
SELECT pg_conf_load_time();
      pg_conf_load_time       
------------------------------
 2017-09-01 16:05:23.89868+08
(1 row)

pg_my_temp_schema()

描述:pg_my_temp_schema返回当前会话中临时模式的OID,如果不存在(没有创建临时表)的话则返回0。如果给定的OID是其它会话中临时模式的OID,pg_is_other_temp_schema则返回true。

返回值类型:oid

示例:

1
2
3
4
5
SELECT pg_my_temp_schema();
 pg_my_temp_schema 
-------------------
                 0
(1 row)

pg_is_other_temp_schema(oid)

描述:是否为另一个会话的临时模式。

返回值类型:boolean

示例:

1
2
3
4
5
SELECT pg_is_other_temp_schema(25356);
 pg_is_other_temp_schema
-------------------------
 f
(1 row)

pg_postmaster_start_time()

描述:服务器启动时间。pg_postmaster_start_time返回服务器启动时的timestamp with time zone。

返回值类型:timestamp with time zone

示例:

1
2
3
4
5
SELECT pg_postmaster_start_time();
   pg_postmaster_start_time   
------------------------------
 2017-08-30 16:02:54.99854+08
(1 row)

pg_trigger_depth()

描述:触发器的嵌套层次。

返回值类型:integer

示例:

1
2
3
4
5
SELECT pg_trigger_depth();
 pg_trigger_depth 
------------------
                0
(1 row)

pgxc_version()

描述:Postgres-XC版本信息。

返回值类型:text

示例:

1
2
3
4
5
SELECT pgxc_version();
                                                pgxc_version                                                 
-------------------------------------------------------------------------------------------------------------
 Postgres-XC 1.1 on x86_64-unknown-linux-gnu, based on PostgreSQL 9.2.4, compiled by g++ (GCC) 5.4.0, 64-bit
(1 row)

session_user

描述:查询会话用户名。session_user通常是连接当前数据库的初始用户,不过系统管理员可以用SET SESSION AUTHORIZATION修改这个设置。

返回值类型:name

示例:

1
2
3
4
5
SELECT session_user;
 session_user
--------------
 dbadmin
(1 row)

user

描述:等价于current_user。

返回值类型:name

示例:

1
2
3
4
5
SELECT user;
 current_user
--------------
 dbadmin
(1 row)

version()

描述:版本信息。version返回一个描述服务器版本信息的字符串。

返回值类型:text

示例:

1
2
3
4
5
SELECT version();
                                                                version                                                                
---------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.2.4 gsql ((GaussDB 8.1.3 build 39137c2d) compiled at 2022-04-01 15:43:11 commit 3629 last mr 5138 release) on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 5.4.0, 64-bit
(1 row)