Menghubungkan ke instans DB yang menjalankan mesin basis data PostgreSQL - Layanan Basis Data Relasional Amazon

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

Menghubungkan ke instans DB yang menjalankan mesin basis data PostgreSQL

Setelah Amazon RDS menyediakan instans DB, Anda dapat menggunakan aplikasi klien SQL standar untuk terhubung ke instans. Sebelum Anda dapat terhubung ke instans DB, instans tersebut harus tersedia dan dapat diakses. Apakah Anda dapat terhubung ke instans dari luar VPC atau tidak tergantung pada cara Anda membuat instans DB Amazon RDS:

  • Jika Anda membuat instans DB sebagai publik, perangkat dan instans Amazon EC2 di luar VPC dapat terhubung ke basis data Anda.

  • Jika Anda membuat instans DB sebagai publik, hanya perangkat dan instans Amazon EC2 di dalam Amazon VPC yang dapat terhubung ke basis data Anda.

Untuk memeriksa apakah instans DB Anda bersifat publik atau pribadi, gunakan AWS Management Console untuk melihat tab Konektivitas & keamanan untuk instans Anda. Di bagian Keamanan, Anda dapat menemukan nilai "Dapat diakses publik", dengan Tidak untuk pribadi, Ya untuk publik.

Untuk mempelajari selengkapnya tentang berbagai konfigurasi Amazon RDS dan Amazon VPC serta pengaruhnya terhadap aksesibilitas, lihat Skenario untuk mengakses instans DB di VPC.

Menginstal klien psql

Untuk terhubung ke instans DB Anda dari instans EC2, Anda dapat menginstal klien PostgreSQL pada instans EC2. Untuk menginstal psql di Amazon Linux 2023, jalankan perintah berikut:

sudo dnf install postgresql15

Untuk menginstal psql di Amazon Linux 2, jalankan perintah berikut:

sudo amazon-linux-extras install postgresql14

Untuk menginstal psql di Ubuntu, jalankan perintah berikut:

sudo apt-get install -y postgresql14

Menemukan informasi koneksi untuk RDS untuk PostgreSQL DB instance

Jika instans DB tersedia dan dapat diakses, Anda dapat terhubung dengan memberikan informasi berikut ke aplikasi klien SQL:

  • Titik akhir instans DB, yang berfungsi sebagai nama host (nama DNS) untuk instans.

  • Port tempat instans DB penulis mendengarkan. Port default untuk PostgreSQL adalah 5432.

  • Nama pengguna dan kata sandi untuk instans DB. Default 'nama pengguna utama' untuk PostgreSQL adalah postgres.

  • Nama dan kata sandi basis data (nama DB).

Anda dapat memperoleh detail ini dengan menggunakan, AWS CLI describe-db-instancesperintah AWS Management Console, atau operasi Amazon RDS API DescribedBInstances.

Untuk menemukan titik akhir, nomor port, dan nama DB menggunakan AWS Management Console
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Buka konsol RDS, lalu pilih Basis data untuk menampilkan daftar instans DB Anda.

  3. Pilih nama instans PostgreSQL DB untuk menampilkan detailnya.

  4. Di tab Konektivitas & keamanan, salin titik akhir. Selain itu, catat nomor port. Anda memerlukan titik akhir dan nomor port untuk terhubung ke instans DB.

    Dapatkan titik akhir dari Konsol RDS
  5. Pada tab Konfigurasi, perhatikan nama DB. Jika Anda membuat basis data saat membuat instans RDS for PostgreSQL, Anda melihat nama yang tercantum di bawah nama DB. Jika Anda tidak membuat basis data, nama DB akan menampilkan tanda hubung (‐).

    Dapatkan nama DB dari Konsol RDS

Berikut ini adalah dua cara untuk terhubung dengan instans PostgreSQL DB. Contoh pertama menggunakan pgAdmin, alat administrasi dan pengembangan sumber terbuka yang populer untuk PostgreSQL. Contoh kedua menggunakan psql, utilitas baris perintah yang merupakan bagian dari penginstalan PostgreSQL.

Menggunakan pgAdmin untuk terhubung ke instans RDS for PostgreSQL DB

Anda dapat menggunakan alat sumber terbuka pgAdmin untuk terhubung ke instans RDS for PostgreSQL DB. Anda dapat mengunduh dan menginstal pgAdmin dari http://www.pgadmin.org/ tanpa memiliki instans lokal PostgreSQL di komputer klien Anda.

Untuk terhubung ke instans RDS for PostgreSQL DB menggunakan pgAdmin
  1. Luncurkan aplikasi pgAdmin di komputer klien Anda.

  2. Pada tab Dasbor, pilih Tambahkan Server Baru.

  3. Di kotak dialog Buat - Server, ketik nama pada tab Umum untuk mengidentifikasi server di pgAdmin.

  4. Di tab Koneksi, ketik informasi berikut dari instans DB Anda:

    • Untuk Host, ketik titik akhir, misalnya mypostgresql.c6c8dntfzzhgv0.us-east-2.rds.amazonaws.com.

    • Untuk Port, ketik port yang ditetapkan.

    • Untuk Nama pengguna, ketik nama pengguna yang Anda masukkan saat membuat instans DB (jika Anda mengubah 'nama pengguna utama' dari default, postgres).

    • Untuk Kata sandi, ketik kata sandi yang Anda masukkan saat membuat instans DB.

  5. Pilih Simpan.

    Jika Anda mengalami masalah saat menghubungkan, lihat Memecahkan masalah koneksi ke instans RDS for PostgreSQL Anda.

  6. Untuk mengakses basis data di browser pgAdmin, perluas Server, instans DB, dan Basis data. Pilih nama basis data instans DB.

  7. Untuk membuka panel tempat Anda dapat memasukkan perintah SQL, pilih Alat, Alat Kueri.

Menggunakan psql untuk terhubung ke instans RDS for PostgreSQL DB Anda

Anda dapat menggunakan instans lokal dari utilitas baris perintah psql untuk terhubung ke instans RDS for PostgreSQL DB. Anda memerlukan menginstal klien PostgreSQL atau psql pada komputer klien Anda.

Anda dapat mengunduh klien PostgreSQL dari situs web PostgreSQL. Ikuti petunjuk khusus untuk versi sistem operasi Anda guna menginstal psql.

Untuk terhubung ke instans RDS for PostgreSQL DB menggunakan psql, Anda perlu memberikan informasi host (DNS), kredensial akses, dan nama basis data.

Gunakan salah satu format berikut untuk terhubung ke instans RDS for PostgreSQL DB. Saat terhubung, Anda diminta memasukkan kata sandi. Untuk pekerjaan atau skrip batch, gunakan opsi --no-password. Opsi ini ditetapkan untuk seluruh sesi.

catatan

Upaya koneksi dengan --no-password akan gagal saat server memerlukan autentikasi kata sandi dan kata sandi tidak tersedia dari sumber lain. Lihat mengetahui informasi selengkapnya, lihat dokumentasi psql.

Jika Anda pertama kali terhubung ke instans DB ini, atau jika Anda belum membuat basis data untuk instans RDS for PostgreSQL ini, Anda dapat terhubung ke basis data postgres menggunakan 'nama pengguna utama' dan kata sandi.

Untuk Unix, gunakan format berikut.

psql \ --host=<DB instance endpoint> \ --port=<port> \ --username=<master username> \ --password \ --dbname=<database name>

Untuk Windows, gunakan format berikut.

psql ^ --host=<DB instance endpoint> ^ --port=<port> ^ --username=<master username> ^ --password ^ --dbname=<database name>

Misalnya, perintah berikut menghubungkan ke basis data bernama mypgdb pada instans PostgreSQL DB bernama mypostgresql menggunakan kredensial fiktif.

psql --host=mypostgresql.c6c8mwvfdgv0.us-west-2.rds.amazonaws.com --port=5432 --username=awsuser --password --dbname=mypgdb

Menghubungkan ke RDS untuk PostgreSQL dengan Driver Amazon Web Services () JDBC AWS

Amazon Web Services (AWS) JDBC Driver dirancang sebagai pembungkus JDBC tingkat lanjut. Pembungkus ini melengkapi dan memperluas fungsionalitas driver JDBC yang ada. Driver ini kompatibel dengan driver PgJDBC komunitas.

Untuk menginstal Driver AWS JDBC, tambahkan file AWS JDBC Driver .jar (terletak di aplikasiCLASSPATH), dan simpan referensi ke driver komunitas masing-masing. Perbarui awalan URL koneksi masing-masing sebagai berikut:

  • jdbc:postgresql:// untuk jdbc:aws-wrapper:postgresql://

Untuk informasi selengkapnya tentang Driver AWS JDBC dan petunjuk lengkap untuk menggunakannya, lihat repositori Amazon Web Services (AWS) JDBC Driver. GitHub

Menghubungkan ke RDS untuk PostgreSQL dengan Driver Python Amazon Web Services ()AWS

Driver Python Amazon Web Services (AWS) dirancang sebagai pembungkus Python tingkat lanjut. Pembungkus ini melengkapi dan memperluas fungsionalitas driver Psycopg open-source. Driver AWS Python mendukung Python versi 3.8 dan lebih tinggi. Anda dapat menginstal aws-advanced-python-wrapper paket menggunakan pip perintah, bersama dengan paket psycopg open-source.

Untuk informasi selengkapnya tentang Driver AWS Python dan petunjuk lengkap untuk menggunakannya, lihat repositori Amazon Web Services ()AWS Python Driver. GitHub

Memecahkan masalah koneksi ke instans RDS for PostgreSQL Anda

Kesalahan — FATAL: basis data name tidak ada

Jika Anda menerima pesan kesalahan seperti FATAL: database name does not exist saat menghubungkan, coba gunakan nama basis data default postgres untuk opsi --dbname.

Kesalahan — Tidak dapat terhubung ke server: Waktu koneksi habis

Jika Anda tidak dapat terhubung ke instans DB, kesalahan yang paling umum adalah Could not connect to server: Connection timed out.. Jika Anda menerima kesalahan ini, periksa hal berikut:

  • Periksa bahwa nama host yang digunakan adalah titik akhir instans DB dan bahwa nomor port yang digunakan sudah benar.

  • Pastikan bahwa aksesibilitas publik instans DB tersebut diatur ke Ya untuk mengizinkan koneksi eksternal. Untuk mengubah pengaturan Akses publik, lihat Memodifikasi instans DB Amazon RDS.

  • Pastikan bahwa pengguna yang terhubung ke basis data memiliki akses CONNECT. Anda dapat menggunakan kueri berikut untuk memberikan akses koneksi ke basis data tersebut.

    GRANT CONNECT ON DATABASE database name TO username;
  • Periksa bahwa grup keamanan yang ditetapkan ke instans DB memiliki aturan untuk memungkinkan akses melalui firewall yang mungkin dilalui koneksi Anda. Misalnya, jika instans DB dibuat menggunakan port default 5432, dan perusahaan Anda mungkin memiliki aturan firewall yang memblokir koneksi ke port tersebut dari perangkat perusahaan eksternal.

    Untuk memperbaikinya, ubah instans DB untuk menggunakan port yang berbeda. Selain itu, pastikan bahwa grup keamanan yang diterapkan ke instans DB memungkinkan koneksi ke port baru. Untuk mengubah pengaturan Port basis data, lihat Memodifikasi instans DB Amazon RDS.

  • Lihat juga Kesalahan dengan aturan akses grup keamanan.

Kesalahan dengan aturan akses grup keamanan

Sejauh ini, masalah koneksi yang paling umum adalah dengan aturan akses grup keamanan yang ditetapkan untuk instans DB. Jika Anda menggunakan grup keamanan default saat membuat instans DB, grup keamanan kemungkinan tidak memiliki aturan akses yang memungkinkan Anda mengakses instans tersebut.

Agar koneksi dapat berfungsi, grup keamanan yang Anda tetapkan ke instans DB pada pembuatannya harus mengizinkan akses ke instans DB. Misalnya, jika instans DB dibuat di VPC, instans tersebut harus memiliki grup keamanan VPC yang mengotorisasi koneksi. Periksa apakah instans DB dibuat menggunakan grup keamanan yang tidak mengotorisasi koneksi dari perangkat atau instans Amazon EC2 tempat aplikasi tersebut berjalan.

Anda dapat menambahkan atau mengedit aturan masuk di grup keamanan. Untuk Sumber, memilih IP Saya akan mengizinkan akses ke instans DB dari alamat IP yang terdeteksi di browser Anda. Untuk informasi selengkapnya, lihat Memberikan akses ke instans DB di VPC Anda dengan membuat grup keamanan.

Atau, jika instans DB dibuat di luar VPC, instans tersebut harus memiliki grup keamanan basis data yang mengotorisasi koneksinya.

Untuk mengetahui informasi selengkapnya tentang grup keamanan Amazon RDS, lihat Mengontrol akses dengan grup keamanan.