

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# ALTER TEMPLATE
<a name="r_ALTER_TEMPLATE"></a>

更改现有模板的定义。使用此命令可重命名模板、更改模板的所有者、在模板定义中添加或移除参数，或设置参数值。

## 所需的权限
<a name="r_ALTER_TEMPLATE-privileges"></a>

要更改模板，您必须拥有以下其中一项：
+ 超级用户权限
+ 对包含模板的架构的 ALTER TEMPLATE 权限和 USAGE 权限

## 语法
<a name="r_ALTER_TEMPLATE-synopsis"></a>

```
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 , ...]
};
```

## 参数
<a name="r_ALTER_TEMPLATE-parameters"></a>

 *database\$1name*   
（可选）在其中创建模板的数据库的名称。如果未指定，则使用当前数据库。

 *schema\$1name*   
（可选）在其中创建模板的架构的名称。如果未指定，则在当前搜索路径中搜索模板。

 *template\$1name*   
要更改的模板的名称。

RENAME TO   
用于重命名模板的子句。

 *new\$1name*   
模板的新名称。有关有效名称的更多信息，请参阅[名称和标识符](r_names.md)。

OWNER TO   
用于更改模板所有者的子句。

 *new\$1owner*   
模板的新所有者。

ADD *parameter* [AS] [*value*]  
将新参数添加到模板。  
+ 对于仅限关键字的参数（例如 CSV 或 GZIP），请仅指定参数名称。
+ 对于需要值的参数，请指定参数名称，且后跟值。您可以选择在参数和值之间包含 AS。

DROP *parameter*  
从模板中移除指定的参数。无法使用单个 DROP 命令删除多个参数。

SET *parameter* TO *value1* [, *parameter2* TO *value2* , ...]  
更新现有模板参数的值。仅用于已具有值的参数。可以在单个命令中更新多个参数。

## 示例
<a name="r_ALTER_TEMPLATE-examples"></a>

以下示例将 test\$1template 模板重命名为 demo\$1template。

```
ALTER TEMPLATE test_template
RENAME TO demo_template;
```

以下示例将 demo\$1template 架构的所有权授予用户 bob。

```
ALTER TEMPLATE demo_template
OWNER TO bob;
```

以下示例向模板 demo\$1template 添加参数 `CSV`

```
ALTER TEMPLATE demo_template
ADD CSV;
```

以下示例向模板 demo\$1template 添加参数 `TIMEFORMAT 'auto'`

```
ALTER TEMPLATE demo_template
ADD TIMEFORMAT 'auto';
```

以下示例从模板 demo\$1template 中删除参数 `ENCRYPTED`

```
ALTER TEMPLATE demo_template
DROP ENCRYPTED;
```

以下示例将 `DELIMITER` 参数设置为 `'|'`，并将 `TIMEFORMAT` 参数设置为 `'epochsecs'`：

```
ALTER TEMPLATE demo_template
SET DELIMITER TO '|', TIMEFORMAT TO 'epochsecs';
```