从补丁 198 开始,Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息,请参阅博客文章
ALTER TEMPLATE
更改现有模板的定义。使用此命令可重命名模板、更改模板的所有者、在模板定义中添加或移除参数,或设置参数值。
所需的权限
要更改模板,您必须拥有以下其中一项:
-
超级用户权限
-
对包含模板的架构的 ALTER TEMPLATE 权限和 USAGE 权限
语法
ALTER TEMPLATE [database_name.][schema_name.]template_name { RENAME TO new_name | OWNER TO new_owner | ADD parameter [AS] [value] | DROP parameter | SET parameter TO value1 [, parameter2 TO value2 , ...] };
参数
- database_name
-
(可选)在其中创建模板的数据库的名称。如果未指定,则使用当前数据库。
- schema_name
-
(可选)在其中创建模板的架构的名称。如果未指定,则在当前搜索路径中搜索模板。
- template_name
-
要更改的模板的名称。
- RENAME TO
-
用于重命名模板的子句。
- new_name
-
模板的新名称。有关有效名称的更多信息,请参阅名称和标识符。
- OWNER TO
-
用于更改模板所有者的子句。
- new_owner
-
模板的新所有者。
- ADD parameter [AS] [value]
-
将新参数添加到模板。
-
对于仅限关键字的参数(例如 CSV 或 GZIP),请仅指定参数名称。
-
对于需要值的参数,请指定参数名称,且后跟值。您可以选择在参数和值之间包含 AS。
-
- DROP parameter
-
从模板中移除指定的参数。无法使用单个 DROP 命令删除多个参数。
- SET parameter TO value1 [, parameter2 TO value2 , ...]
-
更新现有模板参数的值。仅用于已具有值的参数。可以在单个命令中更新多个参数。
示例
以下示例将 test_template 模板重命名为 demo_template。
ALTER TEMPLATE test_template RENAME TO demo_template;
以下示例将 demo_template 架构的所有权授予用户 bob。
ALTER TEMPLATE demo_template OWNER TO bob;
以下示例向模板 demo_template 添加参数 CSV
ALTER TEMPLATE demo_template ADD CSV;
以下示例向模板 demo_template 添加参数 TIMEFORMAT 'auto'
ALTER TEMPLATE demo_template ADD TIMEFORMAT 'auto';
以下示例从模板 demo_template 中删除参数 ENCRYPTED
ALTER TEMPLATE demo_template DROP ENCRYPTED;
以下示例将 DELIMITER 参数设置为 '|',并将 TIMEFORMAT 参数设置为 'epochsecs':
ALTER TEMPLATE demo_template SET DELIMITER TO '|', TIMEFORMAT TO 'epochsecs';