

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# sp\_execute\_postgresql
<a name="sp_execute_postgresql"></a>

Anda dapat mengeksekusi pernyataan PostgreSQL dari endpoint. T-SQL Ini menyederhanakan aplikasi Anda karena Anda tidak perlu keluar dari T-SQL port untuk mengeksekusi pernyataan ini. 

## Sintaksis
<a name="sp_execute_postgresql-syntax"></a>

 

```
sp_execute_postgresql [ @stmt = ] statement
```

## Argumen
<a name="sp_execute_postgresql-arguments"></a>

 *Pernyataan [ @stmt ]*   
Argumennya adalah dari datatype varchar. Argumen ini menerima pernyataan dialek PG.

**catatan**  
Anda hanya dapat meneruskan satu pernyataan dialek PG sebagai argumen, jika tidak, maka akan menimbulkan kesalahan berikut.

```
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
```

## Catatan penggunaan
<a name="sp_execute_postgresql-statements"></a>

### CREATE EXTENSION
<a name="sp_execute_postgresql-statements-create"></a>

Membuat dan memuat ekstensi baru ke dalam basis data saat ini. 

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

Contoh berikut menunjukkan cara membuat ekstensi:

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

Gunakan perintah berikut untuk mengakses objek ekstensi:

```
1>select * from pg_stat_statements;
2>go
```

**catatan**  
 Jika nama skema tidak diberikan secara eksplisit selama pembuatan ekstensi, secara default ekstensi diinstal di skema publik. Anda harus memberikan kualifikasi skema untuk mengakses objek ekstensi seperti yang disebutkan di bawah ini:

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

**Ekstensi yang didukung**

Ekstensi berikut yang tersedia dengan Aurora PostgreSQL bekerja dengan Babelfish.
+ `pg_stat_statements`
+ `tds_fdw`
+ `fuzzystrmatch`

**Batasan**
+ Pengguna harus memiliki peran sysadmin T-SQL dan rds\_superuser di postgres untuk menginstal ekstensi.
+ Ekstensi tidak dapat diinstal pada skema yang dibuat pengguna dan juga pada skema dbo dan tamu untuk basis data master, tempdb, dan msdb. 
+ Opsi CASCADE tidak didukung.

## ALTER EXTENSION
<a name="sp_execute_postgresql-alter"></a>

Anda dapat meningkatkan ke versi ekstensi baru menggunakan ekstensi ALTER. 

```
1>EXEC sp_execute_postgresql 'alter extension <extension name> UPDATE TO <new_version>';
2>go
```

**Batasan**
+ Anda dapat meningkatkan versi ekstensi Anda hanya menggunakan pernyataan ALTER Extension. Opsi lain tidak didukung.

## DROP EXTENSION
<a name="sp_execute_postgresql-drop"></a>

Membatalkan ekstensi yang ditentukan. Anda juga dapat menggunakan opsi `if exists` atau `restrict` untuk membatalkan ekstensi. 

```
1>EXEC sp_execute_postgresql 'drop extension <extension name>';
2>go
```

**Batasan**
+ Opsi CASCADE tidak didukung.