• GBase 8c V3.0.0数据类型——会话信息函数


    1. current_catalog

    描述:当前数据库的名称(在标准SQL中称“catalog”)。

    返回值类型:name

    示例:

     gbase=# SELECT current_catalog;

     current_database

    ------------------

     postgres

    (1 row)

    1. current_database()

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

    返回值类型:name

    示例:

     gbase=# SELECT current_database();

     current_database

    ------------------

     postgres

    (1 row)

    1. current_query()

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

    返回值类型:text

    示例:

     gbase=# SELECT current_query();

          current_query

    -------------------------

     SELECT current_query();

    (1 row)

    1. current_schema[()]

    描述:当前模式的名称。

    返回值类型:name

    示例:

     gbase=# SELECT current_schema();

     current_schema

    ----------------

     public

    (1 row)

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

    1. current_schemas(Boolean)

    描述:搜索路径中的模式名称。

    返回值类型:name[]

    示例:

     gbase=# SELECT current_schemas(true);

       current_schemas

    ---------------------

     {pg_catalog,public}

    (1 row)

    备注:

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

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

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

    1. current_user

    描述:当前执行环境下的用户名。

    返回值类型:name

    示例:

     gbase=# SELECT current_user;

     current_user

    --------------

     gbase

    (1 row)

    备注:current_user是用于权限检查的用户标识,通常表示会话用户,但可以通过SET ROLE命令改变。在函数执行的过程中,若SECURITY DEFINER属性改变,其值也会改变。

    1. definer_current_user

    描述:当前执行环境下的用户名。

    返回值类型:name

    示例:

     gbase=# SELECT definer_current_user();

     definer_current_user

    ----------------------

    gbase

    (1 row)

    1. pg_current_sessionid()

    描述:当前执行环境下的会话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。

    1. pg_current_sessid

    描述:当前执行环境下的会话ID。

    返回值类型:text

    示例:

     gbase=# select pg_current_sessid();

    pg_current_sessid

    -------------------

       140573668599552

    (1 row)

    备注:在线程池模式下获得当前会话的会话ID,非线程池模式下获得当前会话对应的后台线程ID。

    1. pg_current_userid

    描述:当前用户ID。

    返回值类型:text

     gbase=# SELECT pg_current_userid();

    pg_current_userid

    -------------------

    10

    (1 row)

    1. working_version_num()

    描述:版本序号信息。返回一个系统兼容性有关的版本序号。

    返回值类型:int

    示例:

     gbase=# SELECT working_version_num();

     working_version_num

    ---------------------

                   92605

    (1 row)

        

    1. tablespace_oid_name()

    描述: 根据表空间oid,查找表空间名称。

    返回值类型:text

    示例:

     gbase=# select tablespace_oid_name(1663);

     tablespace_oid_name

    ---------------------

     pg_default

    (1 row)

    1. inet_client_addr()

    描述:连接的远端地址。inet_client_addr返回当前客户端的IP地址。

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

    返回值类型:inet

    示例:

     gbase=# SELECT inet_client_addr();

     inet_client_addr

    ------------------

     10.10.0.50

    (1 row)

    1. inet_client_port()

    描述:连接的远端端口。inet_client_port返回当前客户端的端口号。

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

    返回值类型:int

    示例:

     gbase=# SELECT inet_client_port();

     inet_client_port

    ------------------

                33143

    (1 row)

    1. inet_server_addr()

    描述:连接的本地地址。inet_server_addr返回服务器接收当前连接用的IP地址。

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

    返回值类型:inet

    示例:

     gbase=# SELECT inet_server_addr();

     inet_server_addr

    ------------------

     10.10.0.13

    (1 row)

    1. inet_server_port()

    描述:连接的本地端口。inet_server_port返回接收当前连接的端口号。如果是通过Unix-domain socket连接的,则所有这些函数都返回NULL。

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

    返回值类型:int

    示例:

     gbase=# SELECT inet_server_port();

     inet_server_port

    ------------------

                 8000

    (1 row)

    1. pg_backend_pid()

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

    返回值类型:int

    示例:

     gbase=# SELECT pg_backend_pid();

    pg_backend_pid

    -----------------

     140573668599552

    (1 row)

    1. pg_conf_load_time()

    描述:配置加载时间。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)

    1. pg_my_temp_schema()

    描述:会话的临时模式的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。

    1. pg_is_other_temp_schema(oid)

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

    返回值类型:Boolean

    示例:

     gbase=# SELECT pg_is_other_temp_schema(25356);

     pg_is_other_temp_schema

    -------------------------

     f

    (1 row)

    1. pg_listening_channels()

    描述:会话正在侦听的信道名称。

    返回值类型:setof text

    示例:

     gbase=# SELECT pg_listening_channels();

     pg_listening_channels

    -----------------------

    (0 rows)

    备注:pg_listening_channels返回当前会话正在侦听的一组信道名称。

    1. pg_postmaster_start_time()

    描述:服务器启动时间。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)

    1. pg_get_ruledef(rule_oid)

    描述:获取规则的CREATE RULE命令。

    返回值类型:text

    示例:

     gbase=# select * from pg_get_ruledef(24828);

    pg_get_ruledef

    ----------------

     -

    (1 row)

    1. sessionid2pid()

    描述: 从sessionid中得到pid信息(例如,gs_session_stat中sessid列)。

    返回值类型: int8

    示例:

     gbase=# select sessionid2pid(sessid::cstring) from gs_session_stat limit 2;

      sessionid2pid

    -----------------

     140574146287360

     140574146287360

    (2 rows)

    1. pg_trigger_depth()

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

    返回值类型:int

    示例:

     gbase=# SELECT pg_trigger_depth();

     pg_trigger_depth

    ------------------

                    0

    (1 row)

    1. session_user

    描述:会话用户名。

    返回值类型:name

    示例:

     gbase=# SELECT session_user;

     session_user

    --------------

     gbase

    (1 row)

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

    1. user

    描述:等价于current_user。

    返回值类型:name

    示例:

     gbase=# SELECT user;

     current_user

    --------------

     gbase

    (1 row)

    1. getpgusername()

    描述:获取数据库用户名。

    返回值类型:name

    示例:

     gbase=# select getpgusername();

     getpgusername

    ---------------

     gbase

    (1 row)

    1. getdatabaseencoding()

    描述:获取数据库编码方式。

    返回值类型:name

    示例:

     gbase=# select getdatabaseencoding();

     getdatabaseencoding

    ---------------------

     SQL_ASCII

    (1 row)

    1. version()

    描述:版本信息。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)

    1. opengauss_version()

    描述:兼容openGauss的版本信息。

    返回值类型:text

    示例:

    gbase=# select opengauss_version();

    opengauss_version

    -------------------

     3.0.0

    (1 row)

    1. gs_deployment()

    描述:当前系统的部署形态信息。

    返回值类型:text

    示例:

     gbase=# select gs_deployment();

         gs_deployment

    -----------------------

     OpenSourceCentralized

    (1 row)

    1. get_hostname()

    描述:返回当前节点的hostname。

    返回值类型:text

    示例:

     gbase=# SELECT get_hostname();

    get_hostname

    --------------

     gbase8c_7_16

    (1 row)

    1. get_nodename()

    描述:返回当前节点的名字。

    返回值类型:text

    示例:

     gbase=# SELECT get_nodename();

     get_nodename

    --------------

     dn1

    (1 row)

    1. get_schema_oid(cstring)

    描述:返回查询schema的oid。

    返回值类型:oid

    示例:

     gbase=# SELECT get_schema_oid('public');

     get_schema_oid

    ----------------

               2200

    (1 row)

    1. get_client_info()

    描述:返回客户端信息。

    返回值类型:record

  • 相关阅读:
    「设计模式」六大原则之里氏替换原则小结
    计算机网络专栏 学习导航or使用说明
    ChatGPT Plus暂停注册,用户激增压力太大!
    编程狂人| IndexedDB 代码封装、性能摸索以及多标签支持
    故障分析 | MySQL 耗尽主机内存一例分析
    从手动测试到自动测试,企业该如何选择?
    异步编程规避Redis的阻塞(下)
    LIN - 基础
    关于编辑器QScintilla(Scintilla)词法分析器取消非活动代码灰色显示
    从0开始学习JavaScript--JavaScript 循环与迭代详解
  • 原文地址:https://blog.csdn.net/futianxia061112/article/details/125495962