

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

# Versi ekstensi PostgreSQL yang didukung
<a name="PostgreSQL.Concepts.General.FeatureSupport.Extensions"></a>

RDS for PostgreSQL mendukung banyak ekstensi PostgreSQL. Komunitas PostgreSQL terkadang mengacu pada berbagai modul ini. Ekstensi memperluas fungsionalitas yang disediakan oleh mesin PostgreSQL. Anda dapat menemukan daftar ekstensi yang didukung oleh Amazon RDS di grup parameter DB default untuk versi PostgreSQL tersebut. Anda juga dapat melihat daftar ekstensi saat ini menggunakan `psql` dengan menampilkan parameter `rds.extensions` seperti pada contoh berikut.

```
SHOW rds.extensions; 
```

**catatan**  
Parameter yang ditambahkan dalam rilis versi minor mungkin ditampilkan secara tidak akurat saat menggunakan parameter `rds.extensions` di `psql`. 

Pada RDS for PostgreSQL 13, ekstensi tertentu dapat diinstal oleh pengguna basis data selain `rds_superuser`. Ini dikenal sebagai *ekstensi tepercaya*. Untuk mempelajari selengkapnya, lihat [Ekstensi terpercaya PostgreSQL](#PostgreSQL.Concepts.General.Extensions.Trusted). 

Versi RDS for PostgreSQL tertentu mendukung parameter `rds.allowed_extensions`. Parameter ini memungkinkan `rds_superuser` membatasi ekstensi yang dapat diinstal di instans DB RDS for PostgreSQL. Untuk informasi selengkapnya, lihat [Membatasi penginstalan ekstensi PostgreSQL](#PostgreSQL.Concepts.General.FeatureSupport.Extensions.Restriction). 

Untuk daftar ekstensi dan versi PostgreSQL yang didukung oleh setiap versi RDS for PostgreSQL yang tersedia, see [Ekstensi PostgreSQL yang didukung di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html) di *Catatan Rilis Amazon RDS for PostgreSQL*. 

## Membatasi penginstalan ekstensi PostgreSQL
<a name="PostgreSQL.Concepts.General.FeatureSupport.Extensions.Restriction"></a>

Anda dapat membatasi ekstensi yang dapat diinstal pada instans DB PostgreSQL. Secara default, parameter ini tidak ditetapkan, jadi ekstensi apa pun yang didukung dapat ditambahkan jika pengguna memiliki izin untuk melakukannya. Untuk melakukannya, tetapkan parameter `rds.allowed_extensions` ke string nama ekstensi yang dipisahkan koma. Dengan menambahkan daftar ekstensi ke parameter ini, Anda secara eksplisit mengidentifikasi ekstensi yang dapat digunakan oleh instans DB RDS for PostgreSQL Anda. Hanya ekstensi ini yang kemudian dapat diinstal di instans DB PostgreSQL.

String default untuk parameter `rds.allowed_extensions` adalah '\$1', yang berarti ekstensi apa pun yang tersedia untuk versi mesin dapat diinstal. Mengubah parameter `rds.allowed_extensions` tidak memerlukan mulai ulang basis data karena parameter tersebut bersifat dinamis.

Mesin instans DB PostgreSQL harus merupakan salah satu versi berikut agar Anda dapat menggunakan parameter `rds.allowed_extensions`:
+ Semua versi PostgreSQL 16
+ PostgreSQL 15 dan semua versi yang lebih tinggi
+ PostgreSQL 14 dan semua versi yang lebih tinggi
+ PostgreSQL 13.3 dan versi minor yang lebih tinggi
+ PostgreSQL 12.7 dan versi minor yang lebih tinggi

 Untuk melihat instalasi ekstensi yang diizinkan, gunakan perintah psql berikut.

```
postgres=> SHOW rds.allowed_extensions;
 rds.allowed_extensions
------------------------
 *
```

Jika ekstensi telah diinstal tetapi sebelumnya tidak dimasukkan dalam daftar di parameter `rds.allowed_extensions`, ekstensi tersebut masih dapat digunakan secara normal, dan perintah seperti `ALTER EXTENSION` dan `DROP EXTENSION` akan terus berfungsi. Namun, setelah ekstensi dibatasi, perintah `CREATE EXTENSION` untuk ekstensi yang dibatasi akan gagal.

Instalasi dependensi ekstensi dengan `CREATE EXTENSION CASCADE` juga dibatasi. Ekstensi dan dependensinya harus ditentukan dalam `rds.allowed_extensions`. Jika instalasi dependensi ekstensi gagal, seluruh pernyataan `CREATE EXTENSION CASCADE` akan gagal. 

Jika ekstensi tidak disertakan dengan parameter `rds.allowed_extensions`, Anda akan melihat kesalahan seperti berikut jika mencoba menginstalnya.

```
ERROR: permission denied to create extension "extension-name" 
HINT: This extension is not specified in "rds.allowed_extensions".
```

## Ekstensi terpercaya PostgreSQL
<a name="PostgreSQL.Concepts.General.Extensions.Trusted"></a>

Untuk menginstal sebagian besar ekstensi PostgreSQL membutuhkan hak istimewa `rds_superuser`. PostgreSQL 13 memperkenalkan ekstensi tepercaya, yang mengurangi kebutuhan untuk memberikan hak istimewa `rds_superuser` kepada pengguna biasa. Dengan fitur ini, pengguna dapat menginstal banyak ekstensi jika mereka memiliki hak istimewa `CREATE` pada basis data saat ini alih-alih memerlukan peran `rds_superuser`. Untuk informasi selengkapnya, lihat perintah SQL [CREATE EXTENSION](https://www.postgresql.org/docs/current/sql-createextension.html) di dokumentasi PostgreSQL. 

Berikut ini daftar ekstensi yang dapat diinstal oleh pengguna yang memiliki hak istimewa `CREATE` pada basis data saat ini dan tidak memerlukan peran `rds_superuser`:
+ bool\$1plperl
+ [btree\$1gin](http://www.postgresql.org/docs/current/btree-gin.html)
+ [btree\$1gist](http://www.postgresql.org/docs/current/btree-gist.html)
+ [citext ](http://www.postgresql.org/docs/current/citext.html)
+ [cube ](http://www.postgresql.org/docs/current/cube.html)
+ [ dict\$1int ](http://www.postgresql.org/docs/current/dict-int.html)
+ [fuzzystrmatch](http://www.postgresql.org/docs/current/fuzzystrmatch.html)
+  [hstore](http://www.postgresql.org/docs/current/hstore.html)
+ [ intarray](http://www.postgresql.org/docs/current/intarray.html)
+ [isn](http://www.postgresql.org/docs/current/isn.html)
+ jsonb\$1plperl
+ [ltree ](http://www.postgresql.org/docs/current/ltree.html)
+ [pg\$1trgm](http://www.postgresql.org/docs/current/pgtrgm.html)
+ [pgcrypto](http://www.postgresql.org/docs/current/pgcrypto.html)
+ [plperl](https://www.postgresql.org/docs/current/plperl.html)
+ [plpgsql](https://www.postgresql.org/docs/current/plpgsql.html)
+ [pltcl](https://www.postgresql.org/docs/current/pltcl-overview.html)
+ [tablefunc](http://www.postgresql.org/docs/current/tablefunc.html) 
+ [tsm\$1system\$1rows](https://www.postgresql.org/docs/current/tsm-system-rows.html)
+ [tsm\$1system\$1time](https://www.postgresql.org/docs/current/tsm-system-time.html)
+ [unaccent](http://www.postgresql.org/docs/current/unaccent.html)
+ [uuid-ossp](http://www.postgresql.org/docs/current/uuid-ossp.html)

Untuk daftar ekstensi dan versi PostgreSQL yang didukung oleh setiap versi RDS for PostgreSQL yang tersedia, see [Ekstensi PostgreSQL yang didukung di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html) di *Catatan Rilis Amazon RDS for PostgreSQL*. 