

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# CREATE TEMPLATE
<a name="r_CREATE_TEMPLATE"></a>

Cria modelos reutilizáveis para comandos do Amazon Redshift, como [COPY](r_COPY.md). Os modelos armazenam parâmetros comumente usados que podem ser referidos em várias execuções de comando, melhorando a consistência e reduzindo a especificação manual de parâmetros.

Os modelos eliminam a necessidade de especificar repetidamente os mesmos parâmetros de formatação em várias operações, enquanto os caminhos de origem, as tabelas de destino e a autorização podem variar entre as operações.

## Privilégios obrigatórios
<a name="r_CREATE_TEMPLATE-privileges"></a>

Para criar um modelo, é necessário ter uma das seguintes opções:
+ Privilégios de superusuário.
+ Permissão CREATE no esquema em que você deseja criar o modelo ou permissão CREATE com escopo nos esquemas no banco de dados em que você deseja criar o modelo

## Sintaxe
<a name="r_CREATE_TEMPLATE-synopsis"></a>

```
CREATE [ OR REPLACE ] TEMPLATE [database_name.][schema_name.]template_name
FOR COPY [ AS ]
[ [ FORMAT ] [ AS ] data_format ]
[ parameter [ argument ] [ , ... ] ];
```

## Parâmetros
<a name="r_CREATE_TEMPLATE-parameters"></a>

 *OR REPLACE*   
Se um modelo com o mesmo nome já existir no banco de dados e no esquema especificados, o modelo existente será substituído. Só é possível substituir um modelo por um novo modelo que defina o mesmo tipo de operação; por exemplo, COPY. Você deve ter os privilégios necessários para substituir um modelo.

*database\_name*  
(Opcional) O nome do banco de dados onde o modelo será criado. Se não especificado, o modelo será criado no banco de dados atual.  
Se o banco de dados ou o esquema não existir, o modelo não será criado e a instrução exibirá um erro. Não é possível criar modelos nos bancos de dados `template0`,`template1`, `padb_harvest` ou `sys:internal` do sistema.

*schema\_name*  
(Opcional) O nome do esquema onde o modelo será criado. Se não especificado, o modelo será criado no esquema atual.  
Se um nome de esquema for fornecido, o novo modelo será criado no esquema em questão (presumindo que o criador tenha acesso ao esquema). O nome do modelo deve ser exclusivo para o esquema em questão.

*template\_name*  
O nome do modelo a ser criado. Como opção, é possível qualificar o nome do modelo com o nome do banco de dados e do esquema. No exemplo a seguir, o nome do banco de dados é `demo_database`, o nome do esquema é `demo_schema` e o nome do modelo é `test`. Para obter mais informações sobre nomes válidos, consulte [Nomes e identificadores](r_names.md).  

```
CREATE TEMPLATE demo_database.demo_schema.test FOR COPY AS CSV;
```

COPY  
Especifica o tipo de comando do Redshift para o qual o modelo foi criado. No momento, é possível usar apenas o comando COPY.

[ [ FORMAT ] [ AS ] *data\_format* ]   
Esse parâmetro é opcional. Isso especifica o formato de dados para operações COPY.

[ *parameter* [ argument ]]  
Qualquer parâmetro válido para o comando do Redshift especificado.  
Por exemplo, os modelos para o comando COPY podem incluir:  
+ [Parâmetros de formato de dados](copy-parameters-data-format.md)
+ [Parâmetros de compactação de arquivo](copy-parameters-file-compression.md)
+ [Parâmetros da conversão de dados](copy-parameters-data-conversion.md)
+ [Operações de carregamento de dados](copy-parameters-data-load.md)
Para ver uma lista completa de parâmetros compatíveis, consulte o comando [COPY](r_COPY.md).

### Observações de uso
<a name="create_template-usage-notes"></a>
+ Por padrão, todos os usuários têm privilégios CREATE e USAGE no esquema PUBLIC. Para impedir que usuários criem objetos no esquema PUBLIC de um banco de dados, use o comando REVOKE para remover esse privilégio.
+ Quando existe um parâmetro no modelo e no comando, o parâmetro do comando tem precedência.
+ Os modelos são objetos de banco de dados e seguem as regras padrão de nomeação e permissão de objetos do Redshift. Para obter mais informações sobre nomes válidos, consulte [Nomes e identificadores](r_names.md).
+ Os modelos não podem conter especificações de arquivo de manifesto para o comando [COPY](r_COPY.md).

### Limitações
<a name="create_template-limitations"></a>
+ Pelo menos um parâmetro deve ser especificado ao criar um modelo.
+ Parâmetros excluídos: parâmetros específicos de comando, como caminhos de origem, tabelas de destino, credenciais de autorização e especificações de arquivos de manifesto, não podem ser incluídos nos modelos. Esses parâmetros devem ser especificados no comando real.
+ Número máximo de modelos por cluster: é possível criar um máximo de 1.000 modelos por cluster. Esse limite se aplica ao número total de modelos em todos os bancos de dados e esquemas no cluster.
+ Referências entre bancos de dados: não é possível referir modelos em bancos de dados.
+ Compartilhamento de dados: não é possível incluir modelos em unidades de compartilhamentos de dados. Os modelos devem ser criados separadamente em cada cluster em que são necessários.

## Exemplos
<a name="r_CREATE_TEMPLATE-examples"></a>

O exemplo a seguir cria um modelo para o comando COPY. 

```
CREATE TEMPLATE test_schema.demo_template
FOR COPY
AS
FORMAT JSON 'auto'
NULL AS ''
MAXERROR 100;
```

Use [SHOW TEMPLATE](r_SHOW_TEMPLATE.md) para obter a definição do modelo:

```
SHOW TEMPLATE test_schema.demo_template;
CREATE OR REPLACE TEMPLATE dev.test_schema.demo_template FOR COPY AS FORMAT AS JSON 'auto' NULL '' MAXERROR 100;
```

 Consulte a visualização [SYS\_REDSHIFT\_TEMPLATE](SYS_REDSHIFT_TEMPLATE.md) do sistema para obter mais detalhes sobre um modelo. 

```
SELECT * FROM SYS_REDSHIFT_TEMPLATE;

database_name | schema_name | template_name | template_type |        create_time         |     last_modified_time     | owner_id | last_modified_by | template_parameters 
---------------+-------------+---------------+---------------+----------------------------+----------------------------+----------+------------------+---------------------
 dev           | test_schema | demo_template |             1 | 2025-12-17 20:06:01.944171 | 2025-12-17 20:06:01.944171 |        1 |                1 | {
    "JSON": "auto",
    "MAXERROR": 100,
    "NULL": ""
}
```