sp_execute_postgresql - Amazon Aurora

sp_execute_postgresql

您可以從 T-SQL 端點執行 PostgreSQL 陳述式。這樣可簡化您的應用程式,因為您不需要結束 T-SQL 連接埠,即可執行這些陳述式。

語法

sp_execute_postgresql [ @stmt = ] statement

引數

[ @stmt ] 陳述式

引數屬於資料類型 varchar。此引數接受 PG 方言陳述式。

注意

您只能傳遞一個 PG 方言陳述式作為引數,否則其會引發下列錯誤。

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

使用須知

CREATE EXTENSION

建立新的擴充功能並將其載入至目前資料庫。

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

下列範例示範如何建立擴充功能:

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

請使用下列命令存取擴充功能物件:

1>select * from pg_stat_statements; 2>go
注意

如果在擴充功能建立期間未明確提供結構描述名稱,則依預設,擴充功能會安裝在公開結構描述中。您必須提供結構描述限定詞來存取擴充功能物件,如下所述:

1>select * from [public].pg_stat_statements; 2>go
支援的擴充功能

Aurora PostgreSQL 提供的以下擴充功能可與 Babelfish 搭配使用。

  • pg_stat_statements

  • tds_fdw

  • fuzzystrmatch

限制
  • 使用者必須在 T-SQL 上具有 sysadmin 角色,並在 postgres 上具有 rds_superuser,才能安裝擴充功能。

  • 擴充功能無法安裝在使用者建立的結構描述中,也不能安裝在 master、tempdb 和 msdb 資料庫的 dbo 和客體結構描述中。

  • 不支援 CASCADE 選項。

ALTER EXTENSION

您可以使用 ALTER Extension 升級到新的擴充功能版本。

1>EXEC sp_execute_postgresql 'alter extension <extension name> UPDATE TO <new_version>'; 2>go
限制
  • 您只能使用 ALTER Extension 陳述式來升級擴充功能的版本。不支援其他操作。

DROP EXTENSION

刪除指定的擴充功能。您也可以使用 if existsrestrict 選項刪除擴充功能。

1>EXEC sp_execute_postgresql 'drop extension <extension name>'; 2>go
限制
  • 不支援 CASCADE 選項。