CREATE TEMPLATE - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la publicación del blog.

CREATE TEMPLATE

Crea plantillas reutilizables para comandos de Amazon Redshift como COPY. Las plantillas almacenan parámetros de uso común que pueden consultarse en múltiples ejecuciones de comandos, lo que mejora la coherencia y reduce la especificación manual de parámetros.

Las plantillas eliminan la necesidad de especificar repetidamente los mismos parámetros de formato en múltiples operaciones, mientras que las rutas de origen, las tablas de destino y la autorización pueden variar entre operaciones.

Privilegios necesarios

Para crear una plantilla, debe tener una de las siguientes opciones:

  • Privilegios de superusuario

  • Permiso CREATE en el esquema donde desea crear la plantilla, o permiso CREATE con ámbito en los esquemas de la base de datos donde desea crear la plantilla.

Sintaxis

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

Parameters

OR REPLACE

Si ya existe una plantilla con el mismo nombre en la base de datos y el esquema especificados, se sustituirá la plantilla existente. Solo puede sustituir una plantilla por una nueva que defina el mismo tipo de operación, por ejemplo, COPY. Debe tener los privilegios necesarios para reemplazar una plantilla.

database_name

(Opcional) El nombre de la base de datos donde se creará la plantilla. Si no se especifica, la plantilla se crea en la base de datos actual.

Si no existe la base de datos o el esquema, no se crea la plantilla y la instrucción devuelve un error. No puede crear plantillas en las bases de datos del sistema template0, template1, padb_harvest ni sys:internal.

schema_name

(Opcional) El nombre del esquema donde se creará la plantilla. Si no se especifica, la plantilla se crea en el esquema actual.

Si se proporciona un nombre de esquema, la plantilla nueva se crea en ese esquema (suponiendo que el creador tiene acceso al esquema). El nombre de la plantilla debe ser un nombre único para ese esquema.

template_name

El nombre de la plantilla que se va a crear. De manera opcional, puede clasificar el nombre de la plantilla con el nombre de la base de datos y del esquema. En el siguiente ejemplo, el nombre de base de datos es demo_database, el nombre de esquema es demo_schema y el nombre de plantilla es test. Para obtener más información acerca de los nombres válidos, consulte Nombres e identificadores.

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

Especifica el tipo de comando de Redshift para el que se crea la plantilla. Actualmente, solo se admite el comando COPY.

[ [ FORMAT ] [ AS ] data_format ]

Se trata de un parámetro opcional. Especifica el formato de datos para las operaciones COPY.

[ parameter [ argument ]]

Cualquier parámetro válido para el comando de redshift especificado.

Por ejemplo, las plantillas del comando COPY pueden incluir:

Para obtener una lista completa de los parámetros admitidos, consulte el comando COPY.

Notas de uso

  • Por defecto, todos los usuarios tienen privilegios CREATE y USAGE en el esquema PUBLIC. Para no permitirles a los usuarios crear objetos en el esquema PUBLIC de una base de datos, use el comando REVOKE para eliminar ese privilegio.

  • Cuando un parámetro existe tanto en la plantilla como en el comando, el parámetro del comando tiene prioridad.

  • Las plantillas son objetos de base de datos y siguen las reglas estándar de Redshift para la denominación y los permisos de los objetos. Para obtener más información acerca de los nombres válidos, consulte Nombres e identificadores.

  • Las plantillas no pueden contener especificaciones de archivos manifiestos para el comando COPY.

Limitaciones

  • Se debe especificar al menos un parámetro al crear una plantilla.

  • Parámetros excluidos: los parámetros específicos de los comandos, como las rutas de origen, las tablas de destino, las credenciales de autorización y las especificaciones de los archivos de manifiesto, no se pueden incluir en las plantillas. Estos parámetros deben especificarse en el comando real.

  • Número máximo de plantillas por clúster: puede crear un máximo de 1000 plantillas por clúster. Este límite se aplica al número total de plantillas en todas las bases de datos y esquemas del clúster.

  • Referencias entre bases de datos: no se puede hacer referencia a plantillas entre bases de datos.

  • Datos compartidos: las plantillas no se pueden incluir en recursos de datos compartidos. Las plantillas se deben crear por separado en cada clúster donde se necesiten.

Ejemplos

En el siguiente ejemplo se crea una plantilla para el comando COPY.

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

Use SHOW TEMPLATE para obtener la definición de la plantilla:

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 la vista del sistema SYS_REDSHIFT_TEMPLATE para obtener más detalles acerca de una plantilla.

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": "" }