Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat melakukan kueri data dari untuk instans Postgre SQL DB dan mengekspornya langsung ke file yang disimpan dalam bucket Amazon S3. Untuk melakukan ini, pertama-tama Anda menginstal RDS. SQL aws_s3
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
Ekspor lintas akun ke Amazon S3 tidak didukung.
Semua versi yang tersedia saat ini RDS untuk Postgre SQL mendukung mengekspor data ke Amazon Simple Storage Service. Untuk informasi versi terperinci, lihat Amazon RDS untuk SQL pembaruan Postgre di Amazon RDS untuk Catatan Rilis SQL Postgre.
Jika Anda belum menyiapkan bucket untuk ekspor, lihat topik berikut, Panduan Pengguna Amazon Simple Storage Service.
Secara default, data yang diekspor dari RDS Postgre ke Amazon SQL S3 menggunakan enkripsi sisi server dengan file. Kunci yang dikelola AWS Jika Anda menggunakan enkripsi bucket, bucket Amazon S3 harus dienkripsi dengan kunci 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 AWS Management Console AWS CLI,, atau Amazon. RDS API Untuk informasi selengkapnya, lihat Mengekspor data snapshot DB ke Amazon S3 untuk Amazon RDS.
Topik
Menginstal ekstensi aws_s3
Sebelum Anda dapat menggunakan Amazon Simple Storage Service dengan untuk instans Postgre SQL DB, Anda perlu menginstal ekstensi. aws_s3
Ekstensi ini menyediakan fungsi untuk mengekspor data dari ke SQL bucket Amazon S3. Ini juga menyediakan fungsi untuk mengimpor data dari Amazon S3. Untuk informasi selengkapnya, lihat Mengimpor data dari Amazon S3 ke cluster DB RDS SQL. Ekstensi aws_s3
bergantung pada beberapa fungsi pembantu dalam ekstensi aws_commons
, yang diinstal secara otomatis bila diperlukan.
Untuk menginstal ekstensi aws_s3
Gunakan psql (ataupgAdmin) untuk terhubung ke sebagai pengguna yang memiliki hak SQL istimewa.
rds_superuser
Jika Anda menyimpan nama default selama proses penyiapan, Anda terhubung sebagaipostgres
.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordUntuk menginstal ekstensi, jalankan perintah berikut.
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Untuk memverifikasi bahwa ekstensi sudah diinstal, Anda dapat menggunakan metacommand psql
\dx
.postgres=>
\dxList 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 versi Postgre SQL Anda RDS untuk mendukung ekspor ke Amazon S3
Anda dapat RDS memverifikasi bahwa SQL versi Postgre Anda 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
Untuk mengekspor data yang disimpan dalam database for Postgre ke bucket SQL Amazon S3, gunakan prosedur berikut.
Untuk mengekspor ke S3 SQL
-
Identifikasi jalur file Amazon S3 yang akan digunakan untuk mengekspor data. Untuk detail tentang proses ini, lihat Menentukan jalur file Amazon S3 tujuan ekspor.
-
Berikan izin untuk mengakses bucket Amazon S3.
Untuk mengekspor data ke file Amazon S3, berikan SQLizin instans Postgre RDS untuk Postgre DB untuk mengakses bucket Amazon S3 yang akan digunakan ekspor untuk penyimpanan. Berikut adalah langkah-langkahnya:
-
Buat IAM kebijakan yang menyediakan akses ke bucket Amazon S3 yang ingin Anda ekspor.
-
Buat IAM peran.
-
Lampirkan kebijakan yang Anda buat ke peran yang Anda buat.
-
Tambahkan IAM peran ini ke instans DB Anda.
Untuk detail tentang proses ini, lihat Menyiapkan akses ke bucket Amazon S3.
-
-
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 untuk mengekspor hasil kueri ke Amazon S3. Untuk detail tentang proses ini, lihat Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3.
Menentukan jalur file Amazon S3 tujuan ekspor
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 dan Melihat objek dalam Panduan Pengguna Amazon Simple Storage Service.
-
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
mewakili 2, lalu 3, dan seterusnya.XX
Misalnya, jalur file dengan folder
exports
dan awalan filequery-1-export
adalah/exports/query-1-export
. -
-
AWS Wilayah (opsional) - AWS Wilayah tempat bucket Amazon S3 berada. Jika Anda tidak menentukan nilai AWS Wilayah, RDS menyimpan file Anda ke Amazon S3 di Wilayah yang AWS sama dengan instans DB cluster DB yang .
catatan
Saat ini, AWS Wilayah harus sama dengan wilayah instans yang mengekspor.
Untuk daftar nama AWS Wilayah dan nilai terkait, lihatWilayah, Zona Ketersediaan, dan Zona Lokal.
Untuk menyimpan informasi file Amazon S3 tentang lokasi penyimpanan file yang diekspor, Anda dapat menggunakan fungsi 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. Sebagai contoh, lihat Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3.