

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

# Mengekspor data dari instans DB RDS for PostgreSQL ke Amazon S3
<a name="postgresql-s3-export"></a>

Anda dapat mengueri data dari instans DB RDS for PostgreSQL dan mengekspornya langsung ke file yang disimpan dalam bucket Amazon S3. Untuk melakukannya, instal ekstensi RDS for PostgreSQL `aws_s3` terlebih dahulu. Ekstensi ini memberi Anda fungsi yang Anda gunakan untuk mengekspor hasil kueri ke Amazon S3. Berikut ini, Anda dapat mengetahui cara menginstal ekstensi dan cara mengekspor data ke Amazon S3. 

**catatan**  
Cross-account ekspor ke Amazon S3 tidak didukung. 

Semua versi RDS for PostgreSQL yang tersedia saat ini mendukung ekspor data ke Amazon Simple Storage Service. Untuk informasi versi terperinci, lihat [Pembaruan Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) dalam *Catatan Rilis Amazon RDS for PostgreSQL*.

Jika Anda belum menyiapkan bucket untuk ekspor, lihat topik berikut, *Panduan Pengguna Amazon Simple Storage Service*. 
+ [Menyiapkan Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-up-s3.html)
+ [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)

Secara default, data yang diekspor dari RDS untuk PostgreSQL ke Amazon S3 menggunakan enkripsi sisi server dengan file. Kunci yang dikelola AWS Jika Anda menggunakan enkripsi bucket, bucket Amazon S3 harus dienkripsi dengan () key AWS Key Management Service (AWS KMS). SSE-KMS Saat ini, bucket yang dienkripsi dengan kunci terkelola Amazon S3 () SSE-S3 tidak didukung.

**catatan**  
Anda dapat menyimpan data snapshot DB ke Amazon S3 menggunakan Konsol Manajemen AWS AWS CLI,, atau Amazon RDS API. Untuk informasi selengkapnya, lihat [Mengekspor data snapshot DB ke Amazon S3 untuk Amazon RDS](USER_ExportSnapshot.md).

**Topics**
+ [Menginstal ekstensi aws\_s3](#USER_PostgreSQL.S3Export.InstallExtension)
+ [Ikhtisar ekspor data ke Amazon S3](#postgresql-s3-export-overview)
+ [Menentukan jalur file Amazon S3 tujuan ekspor](#postgresql-s3-export-file)
+ [Menyiapkan akses ke bucket Amazon S3](postgresql-s3-export-access-bucket.md)
+ [Mengekspor data kueri menggunakan fungsi aws\_s3.query\_export\_to\_s3](postgresql-s3-export-examples.md)
+ [Referensi fungsi](postgresql-s3-export-functions.md)
+ [Memecahkan masalah akses ke Amazon S3](postgresql-s3-export-troubleshoot.md)

## Menginstal ekstensi aws\_s3
<a name="USER_PostgreSQL.S3Export.InstallExtension"></a>

Sebelum Anda dapat menggunakan Amazon Simple Storage Service dengan instans DB RDS for PostgreSQL, Anda perlu menginstal ekstensi `aws_s3`. Ekstensi ini memberikan fungsi untuk mengekspor data dari instans DB RDS for PostgreSQL ke bucket Amazon S3. Ini juga menyediakan fungsi untuk mengimpor data dari Amazon S3. Untuk informasi selengkapnya, lihat [Mengimpor data dari Amazon S3 ke instans DB RDS for PostgreSQL](USER_PostgreSQL.S3Import.md). Ekstensi `aws_s3` bergantung pada beberapa fungsi pembantu dalam ekstensi `aws_commons`, yang diinstal secara otomatis bila diperlukan. 

**Untuk menginstal ekstensi `aws_s3`**

1. Gunakan psql (atau pgAdmin) untuk terhubung ke instans DB RDS for PostgreSQL sebagai pengguna yang memiliki hak istimewa `rds_superuser`. Jika Anda menyimpan nama default selama proses penyiapan, Anda terhubung sebagai `postgres`.

   ```
   psql --host={{111122223333}}.{{aws-region}}.rds.amazonaws.com --port=5432 --username=postgres --password
   ```

1. Untuk menginstal ekstensi, jalankan perintah berikut. 

   ```
   postgres=> CREATE EXTENSION aws_s3 CASCADE;
   NOTICE: installing required extension "aws_commons"
   CREATE EXTENSION
   ```

1. Untuk memverifikasi bahwa ekstensi sudah diinstal, Anda dapat menggunakan metacommand psql `\dx`.

   ```
   postgres=> \dx
          List of installed extensions
       Name     | Version |   Schema   |                 Description
   -------------+---------+------------+---------------------------------------------
    aws_commons | 1.2     | public     | Common data types across AWS services
    aws_s3      | 1.1     | public     | AWS S3 extension for importing data from S3
    plpgsql     | 1.0     | pg_catalog | PL/pgSQL procedural language
   (3 rows)
   ```

Fungsi untuk mengimpor data dari Amazon S3 dan mengekspor data ke Amazon S3 kini dapat digunakan.

### Verifikasi bahwa RDS Anda untuk PostgreSQL Aurora PostgreSQL ke Amazon S3
<a name="postgresql-s3-supported"></a>

Anda dapat memverifikasi bahwa versi RDS for PostgreSQL mendukung ekspor ke Amazon S3 dengan menggunakan perintah `describe-db-engine-versions`. Contoh berikut memverifikasi dukungan untuk versi 10.14.

```
aws rds describe-db-engine-versions --region us-east-1
--engine postgres --engine-version 10.14 | grep s3Export
```

Jika output-nya menyertakan string `"s3Export"`, berarti mesinnya mendukung ekspor Amazon S3. Jika tidak, mesin tidak mendukungnya.

## Ikhtisar ekspor data ke Amazon S3
<a name="postgresql-s3-export-overview"></a>

Untuk mengekspor data yang disimpan dalam basis data RDS for PostgreSQL ke bucket Amazon S3, gunakan prosedur berikut.

**Untuk mengekspor data RDS for PostgreSQL ke S3**

1. Identifikasi jalur file Amazon S3 yang akan digunakan untuk mengekspor data. Untuk detail tentang proses ini, lihat [Menentukan jalur file Amazon S3 tujuan ekspor](#postgresql-s3-export-file).

1. Berikan izin untuk mengakses bucket Amazon S3.

   Untuk mengekspor data ke file Amazon S3, beri instans DB RDS for PostgreSQL izin untuk mengakses bucket Amazon S3 yang akan digunakan untuk penyimpanan data yang diekspor. Berikut adalah langkah-langkahnya:

   1. Buat kebijakan IAM yang memberikan akses ke bucket Amazon S3 tempat tujuan ekspor.

   1. Buat peran IAM.

   1. Lampirkan kebijakan yang Anda buat ke peran yang Anda buat.

   1. Tambahkan peran IAM ini ke instans DB.

   Untuk detail tentang proses ini, lihat [Menyiapkan akses ke bucket Amazon S3](postgresql-s3-export-access-bucket.md).

1. Identifikasi kueri basis data untuk mendapatkan data. Ekspor data kueri dengan memanggil fungsi `aws_s3.query_export_to_s3`. 

   Setelah menyelesaikan tugas persiapan sebelumnya, gunakan fungsi [aws\_s3.query\_export\_to\_s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3) untuk mengekspor hasil kueri ke Amazon S3. Untuk detail tentang proses ini, lihat [Mengekspor data kueri menggunakan fungsi aws\_s3.query\_export\_to\_s3](postgresql-s3-export-examples.md).

## Menentukan jalur file Amazon S3 tujuan ekspor
<a name="postgresql-s3-export-file"></a>

Tentukan informasi berikut untuk mengidentifikasi lokasi di Amazon S3 tempat Anda ingin mengekspor data:
+ Nama bucket – *Bucket* adalah kontainer untuk objek atau file Amazon S3.

  Untuk informasi selengkapnya tentang menyimpan data dengan Amazon S3, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dan [Bekerja dengan objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*. 
+ Jalur file – Jalur file mengidentifikasi tempat penyimpanan data yang diekspor dalam bucket Amazon S3. Jalur file terdiri atas:
  + Awalan jalur opsional yang mengidentifikasi jalur folder virtual.
  + Awalan file yang mengidentifikasi satu atau beberapa file yang akan disimpan. Ekspor yang lebih besar disimpan dalam beberapa file, masing-masing berukuran maksimum sekitar 6 GB. Nama file tambahan memiliki awalan file yang sama, tetapi dengan penambahan `_part{{XX}}`. `{{XX}}` mewakili 2, lalu 3, dan seterusnya.

  Misalnya, jalur file dengan folder `exports` dan awalan file `query-1-export` adalah `/exports/query-1-export`.
+ AWS Wilayah (opsional) - AWS Wilayah tempat bucket Amazon S3 berada. 
**catatan**  
Saat ini, AWS Wilayah harus sama dengan wilayah instans yang mengekspor.

  Untuk daftar nama AWS Wilayah dan nilai terkait, lihat[Wilayah, Zona Ketersediaan, dan Zona Lokal](Concepts.RegionsAndAvailabilityZones.md).

Untuk menyimpan informasi file Amazon S3 tentang lokasi penyimpanan file yang diekspor, Anda dapat menggunakan fungsi [aws\_commons.create\_s3\_uri](postgresql-s3-export-functions.md#aws_commons.create_s3_uri) untuk membuat struktur komposit `aws_commons._s3_uri_1` sebagai berikut.

```
psql=> SELECT aws_commons.create_s3_uri(
   '{{amzn-s3-demo-bucket}}',
   'sample-filepath',
   'us-west-2'
) AS s3_uri_1 \gset
```

Kemudian, berikan nilai `s3_uri_1` ini sebagai parameter untuk memanggil fungsi [aws\_s3.query\_export\_to\_s3](postgresql-s3-export-functions.md#aws_s3.export_query_to_s3). Sebagai contoh, lihat [Mengekspor data kueri menggunakan fungsi aws\_s3.query\_export\_to\_s3](postgresql-s3-export-examples.md).