以下元函数可用于将查询计划作为定向查询从一个 Vertica 数据库批量导出,并将这些定向查询导入其他数据库。
1 - EXPORT_DIRECTED_QUERIES
生成 SQL,用于通过一组输入查询创建定向查询。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
EXPORT_DIRECTED_QUERIES('input-file', '[output-file]')
参数
- input‑file
- 包含一个或多个输入查询的 SQL 文件。有关格式要求的详细信息,请参阅下文的输入格式。
- output‑file
- 指定将生成的用于创建定向查询的 SQL 写入何处。如果 output‑file 已存在,则 EXPORT_DIRECTED_QUERIES 返回错误。如果您提供的是空字符串,则 Vertica 会将 SQL 写入标准输出。有关详细信息,请参阅下文的输出格式。
特权
超级用户输入格式
您提供给 EXPORT_DIRECTED_QUERIES 的输入文件包含一个或多个输入查询。对于每个输入查询,您可以选择指定两个字段,这两个字段将用于生成的定向查询中:
-
DirQueryName
提供了定向查询的唯一标识符,即一个符合标识符中所述惯例的字符串。 -
DirQueryComment
指定了一个最多 128 个字符并以引号分隔的字符串。
您可以按如下方式设置每个输入查询的格式:
--DirQueryName=query-name
--DirQueryComment='comment'
input-query
输出格式
EXPORT_DIRECTED_QUERIES
会将生成用于创建定向查询的 SQL,并将此 SQL 写入到指定文件或标准输出中。对于这两种情况,输出都遵循以下格式:
/* Query: directed-query-name */
/* Comment: directed-query-comment */
SAVE QUERY input-query;
CREATE DIRECTED QUERY CUSTOM 'directed-query-name'
COMMENT 'directed-query-comment'
OPTVER 'vertica-release-num'
PSDATE 'timestamp'
annotated-query
如果给定的输入查询省略了 DirQueryName
和 DirQueryComment
字段,则 EXPORT_DIRECTED_QUERIES 会自动生成以下输出:
-
/* Query: Autoname:
时间戳.n */
,其中 n 为基于零的整数索引,用于确保具有相同时间戳的自动生成名称具有唯一性。 -
/* Comment: Optimizer-generated directed query */
错误处理
如果在执行 EXPORT_DIRECTED_QUERIES 期间发生任何错误或警告,它会返回一条类似于以下内容的消息:
1 queries successfully exported.
1 warning message was generated.
Queries exported to /home/dbadmin/outputQueries.
See error report, /home/dbadmin/outputQueries.err for details.
EXPORT_DIRECTED_QUERIES 会将所有错误或警告都写入到一个在与输出文件相同的路径下所创建的文件中,并使用输出文件的基名。
例如:
---------------------------------------------------------------------------------------------------
WARNING: Name field not supplied. Using auto-generated name: 'Autoname:2016-04-25 15:03:32.115317.0'
Input Query: SELECT employee_dimension.employee_first_name, employee_dimension.employee_last_name, employee_dimension.job_title FROM public.employee_dimension WHERE (employee_dimension.employee_city = 'Boston'::varchar(6)) ORDER BY employee_dimension.job_title;
END WARNING
示例
请参阅导出定向查询。
另请参阅
2 - IMPORT_DIRECTED_QUERIES
从 EXPORT_DIRECTED_QUERIES 生成的 SQL 文件导入到数据库编录定向查询。如果未指定定向查询,Vertica 将列出 SQL 文件中的所有定向查询。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
IMPORT_DIRECTED_QUERIES( 'export-file'[, 'directed-query-name'[,...] ] )
参数
- export‑file
- 由
EXPORT_DIRECTED_QUERIES
生成的 SQL 文件。运行文件时,Vertica 在当前数据库编录中创建指定的定向查询。 - directed‑query‑name
- 在 export‑file 中定义的定向查询的名称。您可以指定多个以逗号分隔的定向查询名称。
如果省略此参数,Vertica 将列出 export‑file 中所有定向查询的名称。
特权
超级用户示例
请参阅导入定向查询。