sp_execute_postgresql - Amazon Aurora

sp_execute_postgresql

Puede ejecutar instrucciones PostgreSQL desde el punto de conexión de T-SQL. Así se simplifican las aplicaciones, ya que no es necesario salir del puerto T-SQL para ejecutar las instrucciones.

Sintaxis

sp_execute_postgresql [ @stmt = ] statement

Argumentos

Instrucción [@stmt]

El argumento es de tipo varchar. Este argumento acepta instrucciones del dialecto PG.

nota

Como argumento solo puede especificarse una instrucción del dialecto PG; de lo contrario, se generará el error siguiente:

1>exec sp_execute_postgresql 'create extension pg_stat_statements; drop extension pg_stat_statements' 2>go
Msg 33557097, Level 16, State 1, Server BABELFISH, Line 1 expected 1 statement but got 2 statements after parsing

Notas de uso

CREATE EXTENSION

Crea y carga una nueva extensión en la base de datos actual.

1>EXEC sp_execute_postgresql 'create extension [ IF NOT EXISTS ] <extension name> [ WITH ] [SCHEMA schema_name] [VERSION version]'; 2>go

En el ejemplo siguiente se muestra cómo crear una extensión:

1>EXEC sp_execute_postgresql 'create extension pg_stat_statements with schema sys version "1.10"'; 2>go

Utilice el comando siguiente para obtener acceso a objetos de extensión:

1>select * from pg_stat_statements; 2>go
nota

Si el nombre del esquema no se proporciona de forma explícita cuando se crea la extensión, las extensiones se instalan de forma predeterminada en el esquema público. Debe proporcionar el calificador de esquema para tener acceso a los objetos de la extensión, como se indica a continuación:

1>select * from [public].pg_stat_statements; 2>go
Extensiones compatibles

Las siguientes extensiones disponibles con Aurora PostgreSQL funcionan con Babelfish.

  • pg_stat_statements

  • tds_fdw

  • fuzzystrmatch

Limitaciones
  • Los usuarios deben tener el rol sysadmin en T-SQL y rds_superuser en postgres para instalar las extensiones.

  • Las extensiones no se pueden instalar en los esquemas creados por el usuario ni tampoco en los esquemas dbo y guest de las bases de datos master, tempdb y msdb.

  • La opción CASCADE no es compatible.

ALTER EXTENSION

Puede actualizar a una nueva versión de la extensión utilizando ALTER EXTENSION.

1>EXEC sp_execute_postgresql 'alter extension <extension name> UPDATE TO <new_version>'; 2>go
Limitaciones
  • La versión de la extensión solamente se puede actualizar con la instrucción ALTER EXTENSION. No se admiten otras operaciones.

DROP EXTENSION

Elimina la extensión especificada. También puede usar las opciones if exists o restrict para eliminar la extensión.

1>EXEC sp_execute_postgresql 'drop extension <extension name>'; 2>go
Limitaciones
  • La opción CASCADE no es compatible.