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

返回本页常规视图.

编录函数

此部分包含特定于 Vertica 的编录管理函数。

1 - DROP_LICENSE

从全局编录中删除许可证密钥。删除过期的密钥是可选的。如果安装了有效的备用许可证密钥,Vertica 会自动忽略过期的许可证密钥。

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

行为类型

易变

语法

DROP_LICENSE( 'license-name' )

参数

license‑name
要删除的许可证的名称。使用系统表 LICENSESNAME 列中的名称(或长许可证密钥)。

超级用户

示例

=> SELECT DROP_LICENSE('9b2d81e2-aab1-4cfb-bc07-fa9a696e8f5e');

另请参阅

管理许可证

2 - DUMP_CATALOG

返回 Vertica 编录的内部表示。此函数用于诊断目的。

DUMP_CATALOG 仅返回用户可见的对象。

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

行为类型

易变

语法

DUMP_CATALOG()

特权

示例

以下查询获取 Vertica 编录的内部表示:

=> SELECT DUMP_CATALOG();

输出写入指定文件:

\o /tmp/catalog.txt
SELECT DUMP_CATALOG();
\o

3 - EXPORT_CATALOG

生成 SQL 脚本,从而在其他群集上重新创建物理架构设计。

SQL 脚本符合以下要求:

  • 仅包括用户有权访问的对象。

  • 根据对象依赖关系对 CREATE 语句进行排序,以便可以按正确的顺序重新创建它们。例如,如果表在非 PUBLIC 架构中,则所需的 CREATE SCHEMA 语句位于 CREATE TABLE 语句之前。同样,表的 CREATE ACCESS POLICY 语句跟在表的 CREATE TABLE 语句之后。

  • 如果可能,使用其 KSAFE 子句(如果有)创建投影,否则使用其 OFFSET 子句。

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

行为类型

易变

语法

EXPORT_CATALOG ( [ '[destination]' [, 'scope'] ] )

参数

destination
指定发送输出的位置,为以下之一:
  • 空字符串,将脚本写入标准输出。

  • SQL 输出文件的路径和名称,仅对 超级用户有效。如果指定一个不存在的文件,函数会创建一个相应的文件。如果您仅指定一个文件名,Vertica 会在编录目录中创建它。如果文件已经存在,函数将静默覆盖其内容。

scope
确定要导出的内容。在指定范围内,EXPORT_CATALOG 导出您有权访问的所有对象:
  • DESIGN:导出所有编录对象,包括架构、表、约束、视图、访问策略、投影、SQL 宏和存储过程。

  • DESIGN_ALL:已弃用。

  • TABLES:导出所有表及其访问策略。另请参阅 EXPORT_TABLES

  • DIRECTED_QUERIES:导出所有存储在数据库中的定向查询。有关详细信息,请参阅管理定向查询

默认值: DESIGN

特权

示例

请参阅导出编录

另请参阅

4 - EXPORT_OBJECTS

生成一个 SQL 脚本,可用于在其他群集上重新创建非虚拟编录对象。

SQL 脚本符合以下要求:

  • 仅包括用户有权访问的对象。

  • 根据对象依赖关系对 CREATE 语句进行排序,以便可以按正确的顺序重新创建它们。例如,如果表在非 PUBLIC 架构中,则所需的 CREATE SCHEMA 语句位于 CREATE TABLE 语句之前。同样,表的 CREATE ACCESS POLICY 语句跟在表的 CREATE TABLE 语句之后。

  • 如果可能,使用其 KSAFE 子句(如果有)创建投影,否则使用其 OFFSET 子句。

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

行为类型

易变

语法

EXPORT_OBJECTS( ['[destination]' [, '[scope]'] [, 'mark-ksafe']] )

参数

destination
指定发送输出的位置,为以下之一:
  • 空字符串 ('') 将脚本写入标准输出。

  • SQL 输出文件的路径和名称。此选项仅对 超级用户有效。如果指定一个不存在的文件,函数会创建一个相应的文件。如果您仅指定一个文件名,Vertica 会在编录目录中创建它。如果文件已经存在,函数将静默覆盖其内容。

scope
指定要导出为逗号分隔列表的一个或多个对象:
{ [database.]schema[.object] | [[database.]schema]object }[,...]
  • 如果设置为空字符串,Vertica 会导出用户有权访问的所有对象。

  • 如果您仅指定一个架构,Vertica 会导出该架构中的所有对象。

  • 如果指定一个数据库,它必须是当前数据库。

mark-ksafe
Boolean 实参,指定生成的脚本是否调用 Vertica 函数 MARK_DESIGN_KSAFE。如果设置为 true(默认),MARK_DESIGN_KSAFE 为当前数据库使用正确的 K-safe 实参。

特权

示例

请参阅导出对象

另请参阅

5 - EXPORT_TABLES

生成一个 SQL 脚本,可用于在其他群集上重新创建逻辑架构—架构、表、约束和视图。EXPORT_TABLES 仅导出用户有权访问的对象。

SQL 脚本符合以下要求:

  • 仅包括用户有权访问的对象。

  • 根据对象依赖关系对 CREATE 语句进行排序,以便可以按正确的顺序重新创建它们。例如,如果一个表引用了一个命名序列,则 CREATE SEQUENCE 语句在 CREATE TABLE 语句之前。同样,表的 CREATE ACCESS POLICY 语句跟在表的 CREATE TABLE 语句之后。

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

行为类型

易变

语法

EXPORT_TABLES( ['[destination]' [, '[scope]']] )

参数

destination
指定发送输出的位置,为以下之一:
  • 空字符串 ('') 将脚本写入标准输出。

  • SQL 输出文件的路径和名称。此选项仅对 超级用户有效。如果指定一个不存在的文件,函数会创建一个相应的文件。如果您仅指定一个文件名,Vertica 会在编录目录中创建它。如果文件已经存在,函数将静默覆盖其内容。

scope
指定要导出的一个或多个表,如下所示:
[database.]schema[.table][,...]
  • 如果设置为空字符串,Vertica 会导出您有权访问的所有非虚拟表对象,包括表架构、序列和约束。
  • 如果您指定架构,Vertica 会导出该架构中的所有非虚拟表对象。
  • 如果指定一个数据库,它必须是当前数据库。

特权

示例

请参阅导出表

另请参阅

6 - INSTALL_LICENSE

在全局编录中安装许可证密钥。

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

行为类型

易变

语法

INSTALL_LICENSE( 'filename' )

参数

filename
有效许可证文件的绝对路径名称。

超级用户

示例

=> SELECT INSTALL_LICENSE('/tmp/vlicense.dat');

另请参阅

管理许可证

7 - MARK_DESIGN_KSAFE

如果出现故障,在您的环境中启用或禁用高可用性。启用恢复以前, MARK_DESIGN_KSAFE 查询编录,确定群集物理模式设计是否满足下列要求:

  • 在所有节点上复制小的、未分段的表。

  • 大型表 超投影被分段,每个分段在不同的节点上。

  • 对于 K-safety=1,每个大型表投影至少有一个 伙伴实例投影(或者对于 K-safety=2,具有两个伙伴实例投影)。

    伙伴投影也在各数据库节点上进行分段,但对分配进行了修改,使包含相同数据的分段分配在不同节点上。请参阅使用投影的高可用性

MARK_DESIGN_KSAFE 不改变物理架构。

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

行为类型

易变

语法

MARK_DESIGN_KSAFE ( k )

参数

k
指定 K-safety 等级,是以下之一:
  • 2:如果架构设计满足 K-safety=2 的要求,则启用高可用性

  • 1:如果架构设计满足 K-safety=1 的要求,则启用高可用性

  • 0:禁用高可用性

超级用户

返回消息

如果您指定一个 1 或 2 的 k 值,Vertica 返回下列消息之一。

成功:

 Marked design n-safe

失败:

 The schema does not meet requirements for K=n.
 Fact table projection projection-name
 has insufficient "buddy" projections.

这里,n 是一个 K-safety 设置。

注意

  • 数据库内部恢复状态会在整个数据库启动过程中持续,但未在启动时检查。

  • 当标有 K-safe=1 的系统上的一个节点失败,其余节点仍可用于 DML 操作。

示例

=> SELECT MARK_DESIGN_KSAFE(1);
  mark_design_ksafe
----------------------
 Marked design 1-safe
(1 row)

如果物理模式设计不是 K-safe,消息显示不具有伙伴的投影:

=> SELECT MARK_DESIGN_KSAFE(1);
The given K value is not correct;
the schema is 0-safe
Projection pp1 has 0 buddies,
which is smaller that the given K of 1
Projection pp2 has 0 buddies,
which is smaller that the given K of 1
.
.
.
(1 row)

另请参阅

8 - RELOAD_ADMINTOOLS_CONF

更新群集中每个 UP 节点上的 admintools.conf。更新包括:

  • IP 地址和编录路径

  • 当前数据库中所有节点的节点名称

此函数提供了一种手动方法来指示服务器更新所有 UP 节点上的 admintools.conf。例如,如果您重启一个节点,调用此函数来确认它的 admintools.conf 文件是准确的。

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

行为类型

易变

语法

RELOAD_ADMINTOOLS_CONF()

特权

超级用户

示例

更新群集中每个 UP 节点上的 admintools.conf:

=> SELECT RELOAD_ADMINTOOLS_CONF();
  RELOAD_ADMINTOOLS_CONF
--------------------------
 admintools.conf reloaded
(1 row)