sp_execute_postgresql - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

sp_execute_postgresql

Permette di eseguire istruzioni PostgreSQL dall'endpoint T-SQL. In questo modo, non devi uscire dalla porta T-SQL per eseguire queste istruzioni, il che semplifica le tue applicazioni.

Sintassi

sp_execute_postgresql [ @stmt = ] statement

Argomenti

Istruzione [ @stmt ]

Il tipo di dati dell'argomento è varchar. Questo argomento accetta istruzioni in dialetto PG.

Nota

È possibile passare come argomento solo un'istruzione in dialetto PG, in caso contrario viene generato l'errore seguente.

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

Note per l'utilizzo

CREATE EXTENSION

Crea e carica una nuova estensione nel database attuale.

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

Il seguente esempio illustra come creare un'estensione:

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

Per concedere l'accesso alla funzione Lambda, utilizza il seguente comando:

1>select * from pg_stat_statements; 2>go
Nota

Se il nome dello schema non viene fornito esplicitamente durante la creazione dell'estensione, per impostazione predefinita le estensioni vengono installate nello schema public. È necessario fornire il qualificatore dello schema per accedere agli oggetti di estensione come indicato di seguito:

1>select * from [public].pg_stat_statements; 2>go
Estensioni supportate

Le seguenti estensioni disponibili con Aurora PostgreSQL funzionano con Babelfish.

  • pg_stat_statements

  • tds_fdw

  • fuzzystrmatch

Limitazioni
  • Per poter installare le estensioni, gli utenti devono avere il ruolo sysadmin su T-SQL e rds_superuser su postgres.

  • Non è possibile installare estensioni in schemi creati dall'utente e nemmeno negli schemi dbo e guest per i database master, tempdb e msdb.

  • L'opzione CASCADE non è supportata.

ALTER EXTENSION

È possibile eseguire l'aggiornamento a una nuova versione dell'estensione utilizzando l'istruzione ALTER extension.

1>EXEC sp_execute_postgresql 'alter extension <extension name> UPDATE TO <new_version>'; 2>go
Limitazioni
  • È possibile aggiornare la versione dell'estensione solo utilizzando l'istruzione ALTER Extension. Altre operazioni non sono supportate.

DROP EXTENSION

Rimuove l'estensione specificata. Per rimuovere l'estensione, è anche possibile usare le nostre opzioni if exists o restrict.

1>EXEC sp_execute_postgresql 'drop extension <extension name>'; 2>go
Limitazioni
  • L'opzione CASCADE non è supportata.