这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

系统信息函数

这些函数提供有关当前系统状态的信息。超级用户对所有系统信息有不受限制的访问权限,但是用户只能查看有关自身当前会话的信息。

1 - CURRENT_DATABASE

返回当前数据库的名称,等同于 DBNAME

行为类型

稳定

语法

CURRENT_DATABASE()

示例

=> SELECT CURRENT_DATABASE;
 CURRENT_DATABASE
------------------
 VMart
(1 row)

2 - CURRENT_LOAD_SOURCE

COPY 语句的范围内调用时,返回加载所使用的文件名。存在以下例外:

  • 如果在 COPY 语句的上下文之外调用函数,则返回 NULL。

  • 如果通过未设置源的 UDL 调用函数,则返回字符串 <unknown>

COPY LOCAL 不支持此函数。

行为类型

稳定

语法

CURRENT_LOAD_SOURCE()

示例

创建表并在加载时使用两个单独文件的名称填充以下其中一列:

=> CREATE TABLE t (c1 integer, c2 varchar(50), c3 varchar(200));
CREATE TABLE

=> COPY t (c1, c2, c3 AS CURRENT_LOAD_SOURCE())
   FROM '/home/load_file_1' ON exampledb_node02,
        '/home/load_file_2' ON exampledb_node03 DELIMITER ',';
Rows Loaded
-------------
5
(1 row)

=> SELECT * FROM t;
c1  |      c2      |          c3
----+--------------+-----------------------
2   |  dogs        | /home/load_file_1
1   |  cats        | /home/load_file_1
4   |  superheroes | /home/load_file_2
3   |  birds       | /home/load_file_1
5   |  whales      | /home/load_file_2
(5 rows)

3 - CURRENT_SCHEMA

返回当前架构的名称。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

稳定

语法

CURRENT_SCHEMA()

特权

示例

以下命令返回当前架构的名称。

=> SELECT CURRENT_SCHEMA();
 current_schema
----------------
 public
(1 row)

以下命令将返回不带圆括号的相同结果:

=> SELECT CURRENT_SCHEMA;
 current_schema
----------------
 public
(1 row)

以下命令显示搜索路径中列于当前用户之后的当前架构:

=> SHOW SEARCH_PATH;
    name     |                      setting
-------------+---------------------------------------------------
 search_path | "$user", public, v_catalog, v_monitor, v_internal
(1 row)

另请参阅

4 - CURRENT_USER

返回包含启动当前数据库连接的用户的名称的 VARCHAR。

行为类型

稳定

语法

CURRENT_USER()

注意

  • CURRENT_USER 函数不需要括号。

  • 此函数对于权限检查很有用。

  • CURRENT_USER 等同于 SESSION_USER用户USERNAME

示例

=> SELECT CURRENT_USER();
 CURRENT_USER
--------------
 dbadmin
(1 row)

以下命令将返回不带圆括号的相同结果:

=> SELECT CURRENT_USER;
 CURRENT_USER
--------------
 dbadmin
(1 row)

5 - DBNAME(函数)

返回当前数据库的名称,等同于 CURRENT_DATABASE

行为类型

不可变

语法

DBNAME()

示例

=> SELECT DBNAME();
      dbname
------------------
 VMart
(1 row)

6 - HAS_TABLE_PRIVILEGE

返回 true 或 false,以验证用户是否具有表的指定权限。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

行为类型

稳定

语法

HAS_TABLE_PRIVILEGE ( [ user, ] '[[database.]schema.]table', 'privilege' )

参数

用户
数据库用户的名称或 OID。如果省略,Vertica 会检查当前用户的权限。
[database.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

要检查的表的名称或 OID。
privilege
表权限,为以下之一:

特权

非超级用户,为以下之一:

  • 表所有者

  • 对表架构具有 USAGE 权限,对表具有一项或多项权限

示例

=> SELECT HAS_TABLE_PRIVILEGE('store.store_dimension', 'SELECT');
 HAS_TABLE_PRIVILEGE
---------------------
 t
(1 row)

=> SELECT HAS_TABLE_PRIVILEGE('release', 'store.store_dimension', 'INSERT');
 HAS_TABLE_PRIVILEGE
---------------------
 t
(1 row)

=> SELECT HAS_TABLE_PRIVILEGE(45035996273711159, 45035996273711160, 'select');
 HAS_TABLE_PRIVILEGE
---------------------
t
(1 row)

7 - LIST_ENABLED_CIPHERS

返回启用的密码套件列表,这些套件是用于保护 TLS/SSL 连接的算法集。

默认情况下,Vertica 使用 OpenSSL 的默认密码套件。有关详细信息,请参阅 OpenSSL 手册页

语法

LIST_ENABLED_CIPHERS()

示例

=> SELECT LIST_ENABLED_CIPHERS();
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_AES_128_CBC_SHA

另请参阅

8 - SESSION_USER

返回 VARCHAR,其中包含发起当前数据库会话的用户的名称。

行为类型

稳定

语法

SESSION_USER()

注意

示例

=> SELECT SESSION_USER();
 session_user
--------------
 dbadmin
(1 row)

以下命令将返回不带圆括号的相同结果:

=> SELECT SESSION_USER;
 session_user
--------------
 dbadmin
(1 row)

9 - 用户

返回包含启动当前数据库连接的用户的名称的 VARCHAR。

行为类型

稳定

语法

USER()

注意

示例

=> SELECT USER();
 current_user
--------------
 dbadmin
(1 row)

以下命令将返回不带圆括号的相同结果:

=> SELECT USER;
 current_user
--------------
 dbadmin
(1 row)

10 - USERNAME

返回包含启动当前数据库连接的用户的名称的 VARCHAR。

行为类型

稳定

语法

USERNAME()

注意

示例

=> SELECT USERNAME();
 username
--------------
 dbadmin
(1 row)

11 - VERSION

返回包含 Vertica 节点的版本信息的 VARCHAR。

行为类型

稳定

语法

VERSION()

示例

=> SELECT VERSION();
                    VERSION
-------------------------------------------
Vertica Analytic Database v10.0.0-0
(1 row)