Hologres支持的连接函数有哪些

Hologres兼容PostgreSQL,支持使用标准的PostgreSQL语法进行开发。

Hologres已支持的连接函数列表如下。当前Hologres版本支持的函数是PostgreSQL的一个子集,函数的使用方法请参见连接函数

函数

功能

CURRENT_CATALOG

获取当前目录名称。

CURRENT_DATABASE

获取当前数据库名称。

CURRENT_QUERY

获取当前正在执行查询语句。

CURRENT_ROLE

获取当前正在执行数据库操作的账号ID。

CURRENT_SCHEMA

获取当前模式名称。

CURRENT_SCHEMAS

获取搜索路径中所有模式的名称的数组。

CURRENT_USER

获取当前账户的账号ID。

INET_CLIENT_ADDR

获取当前用户的远程连接地址。

INET_CLIENT_PORT

获取当前用户的远程连接端口。

INET_SERVER_ADDR

获取当前服务器的地址。

INET_SERVER_PORT

获取当前服务器的端口。

PG_BACKEND_PID

获取当前会话所在服务器进程的进程ID。

PG_BLOCKING_PIDS

获取阻止指定服务器进程ID获取锁定的进程ID。

SESSION_USER

获取当前会话的用户的账号ID。

USER

获取当前登录用户的账号ID。

VERSION

获取PostgreSQL的版本信息。

CURRENT_CATALOG

  • 描述:获取当前目录名称。

    CURRENT_CATALOG
  • 返回值

    返回当前目录名称。

  • 示例

    SELECT CURRENT_CATALOG;

    返回结果如下。

     current_catalog
    -----------------
     hologrestest

CURRENT_DATABASE

  • 描述:获取当前数据库名称。

    CURRENT_DATABASE()
  • 返回值

    返回当前数据库名称。

  • 示例

    SELECT CURRENT_DATABASE();

    返回结果如下。

     current_database
    ------------------
     hologrestest

CURRENT_QUERY

  • 描述:获取当前正在执行的查询语句。

    CURRENT_QUERY()
  • 返回值

    返回当前正在执行的查询语句。

  • 示例。

    SELECT CURRENT_QUERY();

    返回结果如下。

          current_query
    -------------------------
     SELECT CURRENT_QUERY();

CURRENT_ROLE

  • 描述:获取当前正在执行数据库操作的账号ID。

    CURRENT_ROLE
  • 返回值

    返回当前执行数据库操作的账号ID。

  • 示例。

    SELECT CURRENT_ROLE;

    返回结果如下。

       current_role
    ------------------
     139699392458****

CURRENT_SCHEMA

  • 描述:获取当前模式名称。

    CURRENT_SCHEMA[()]
  • 返回值

    返回当前模式名称。

  • 示例。

    SELECT CURRENT_SCHEMA();

    返回结果如下。

     current_schema
    ----------------
     public

CURRENT_SCHEMAS

  • 描述:获取搜索路径中所有模式的名称的数组。

    CURRENT_SCHEMAS(FLAG)
  • 参数说明

    FLAG:取值为TRUE或FALSE。

  • 返回值

    返回当前搜索路径中所有模式的名称的数组。

    • 输入参数为TRUE时,返回的模式名称数组中包含隐式Schema(pg_catalog)。

    • 输入参数为FALSE时,返回的模式名称数组中不包含隐式Schema(pg_catalog)。

  • 示例

    • 示例1:

      SELECT CURRENT_SCHEMAS(TRUE);

      返回结果如下。

         current_schemas
      ---------------------
       {pg_catalog,public}
    • 示例2:

      SELECT CURRENT_SCHEMAS(FALSE);

      返回结果如下。

         current_schemas
      ---------------------
       {public}

CURRENT_USER

  • 描述:获取当前账户的账号ID。

    CURRENT_USER
  • 返回值

    返回当前账户的账号ID。

  • 示例

    SELECT CURRENT_USER;

    返回结果如下。

       current_user
    ------------------
     139699392458****

INET_CLIENT_ADDR

  • 描述:获取当前用户的远程连接地址。

    INET_CLIENT_ADDR()
  • 返回值

    返回当前用户的远程连接地址。

  • 示例

    SELECT INET_CLIENT_ADDR();

    返回结果如下。

    inet_client_addr
    ------------------
     124.8*.1**.1**

INET_CLIENT_PORT

  • 描述:获取当前用户的远程连接端口。

    INET_CLIENT_PORT()
  • 返回值

    返回当前用户的远程连接端口。

  • 示例

    SELECT INET_CLIENT_PORT();

    返回结果如下。

    inet_client_port
    ------------------
                 5823

INET_SERVER_ADDR

  • 描述:获取当前服务器的地址。

    INET_SERVER_ADDR()
  • 返回值:返回当前服务器的地址。

  • 示例

    SELECT INET_SERVER_ADDR();

    返回结果如下。

     inet_server_addr
    ------------------
     10.**.4*.4*

INET_SERVER_PORT

  • 描述:获取当前服务器的端口。

    INET_SERVER_PORT()
  • 返回值

    返回当前服务器的端口。

  • 示例

    SELECT INET_SERVER_PORT();

    返回结果如下。

     inet_server_port
    ------------------
                42581

PG_BACKEND_PID

  • 描述:获取当前会话所在服务器进程的进程ID。

    PG_BACKEND_PID()
  • 返回值

    返回当前会话所在服务器进程的进程ID。

  • 示例

    SELECT PG_BACKEND_PID();

    返回结果如下。

     pg_backend_pid
    ----------------
           53674002

PG_BLOCKING_PIDS

  • 描述:获取阻止指定服务器进程ID获取锁定的进程ID。

    PG_BLOCKING_PIDS(INT)
  • 返回值:返回阻止指定服务器进程ID获取锁定的进程ID。

  • 示例

    SELECT PG_BLOCKING_PIDS(1);

    返回结果如下。

     pg_blocking_pids
    ------------------
     {}

SESSION_USER

  • 描述:获取当前会话的用户的账号ID。

    SESSION_USER
  • 返回值

    返回当前会话的用户的账号ID。

  • 示例

    SELECT SESSION_USER;

    返回结果如下。

       session_user
    ------------------
     139699392458****

USER

  • 描述:获取当前登录用户的账号ID。

    USER
  • 返回值:返回当前登录用户的账号ID。

  • 示例

    SELECT USER;

    返回结果如下。

           user
    ------------------
     139699392458****

VERSION

  • 描述:查询PostgreSQL的版本信息。

    VERSION()
  • 返回值:返回PostgreSQL的版本信息。

  • 示例

    SELECT VERSION();

    返回结果如下。

                                                                                                   version                  
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     PostgreSQL 11.3 (Release-build@6feee25dff7 on release-3.0.x) on x86_64-linux, compiled by clang version 13.0.1 (Alibaba 13.0.1-2.fix20240305102602.alios7 193811f571966bccce929b0f457df345c4fca5ed)