全部产品
Search
文档中心

PolarDB:Hubungkan ke database

更新时间:Jul 03, 2025

Topik ini menjelaskan cara menghubungkan ke kluster PolarDB untuk PostgreSQL.

Persiapan

Sebelum menghubungkan ke kluster, lakukan langkah-langkah berikut:

  • Dapatkan titik akhir kluster dan port

    Kluster PolarDB untuk PostgreSQL Terpusat

    Kluster PolarDB untuk PostgreSQL terpusat merujuk pada kluster yang Edisi Database-nya adalah Enterprise Edition atau Standard Edition.

    Masuk ke Konsol PolarDB. Dalam daftar kluster, klik ID kluster untuk membuka halaman Basic Information. Informasi titik akhir kluster dapat ditemukan di bagian Database Connections.image

    Catatan
    • Disarankan menggunakan Cluster Endpoint kluster untuk koneksi. Nomor port default adalah 3306.

    • Gunakan Private atau Public titik akhir sesuai lingkungan akses Anda.

      • Untuk mengakses kluster PolarDB dari instance ECS yang berada di VPC yang sama dengan kluster PolarDB, gunakan titik akhir Private.

      • Untuk mengakses kluster PolarDB dari lingkungan lokal, gunakan titik akhir Public. Secara default, tidak ada titik akhir publik yang tersedia. Klik Apply untuk meminta titik akhir publik.

    • Kinerja optimal kluster PolarDB tidak dapat dicapai jika menggunakan public endpoint.

    • Tidak dapat menghubungkan ke kluster PolarDB dari host virtual atau server ringan menggunakan titik akhir Private.

    Kluster PolarDB untuk PostgreSQL Terdistribusi

    Masuk ke Konsol PolarDB. Dalam daftar kluster, klik ID kluster untuk membuka halaman Basic Information. Informasi titik akhir dapat ditemukan di bagian Database Connections.image

    Catatan
    • Secara default, kluster PolarDB untuk PostgreSQL terdistribusi hanya memiliki satu Primary Endpoint, dengan nomor port default 5432.

    • Gunakan Private atau Public titik akhir sesuai lingkungan akses Anda.

      • Untuk mengakses kluster PolarDB dari instance ECS yang berada di VPC yang sama dengan kluster PolarDB, gunakan titik akhir Private.

      • Untuk mengakses kluster PolarDB dari lingkungan lokal, gunakan titik akhir Public. Secara default, tidak ada titik akhir publik yang tersedia. Klik Apply untuk meminta titik akhir publik.

    • Kinerja optimal kluster PolarDB tidak dapat dicapai jika menggunakan public endpoint.

    • Tidak dapat menghubungkan ke kluster PolarDB dari host virtual atau server ringan menggunakan titik akhir Private.

  • Buat akun database

    Masuk ke Konsol PolarDB. Dalam daftar kluster, klik ID kluster untuk membuka halaman Basic Information. Di panel navigasi sisi kiri, pilih Settings and Management > Accounts untuk membuat akun database.image

    Catatan

    Anda dapat membuat akun Privileged Account atau akun Standard Account. Kedua jenis akun ini memiliki izin yang berbeda. Buat akun sesuai kebutuhan bisnis Anda.

  • Konfigurasikan daftar putih kluster

    Masuk ke Konsol PolarDB. Dalam daftar kluster, klik ID kluster yang ingin dihubungkan untuk membuka halaman Basic Information. Di panel navigasi sisi kiri, pilih Settings and Management > Cluster Whitelists, tambahkan daftar putih IP atau kelompok keamanan.image

    Catatan
    • Untuk mengakses kluster PolarDB dari instance ECS yang berada di VPC yang sama dengan kluster PolarDB, buat daftar putih alamat IP dan tambahkan alamat IP internal instance ECS ke daftar tersebut, atau tambahkan kelompok keamanan yang dimiliki oleh instance ECS.

    • Jika Anda ingin mengakses kluster PolarDB dari instance ECS yang berada di VPC berbeda dari kluster PolarDB, buat daftar putih alamat IP dan tambahkan alamat IP publik instance ECS ke daftar tersebut, atau tambahkan kelompok keamanan tempat instance ECS tersebut berada.

    • Untuk mengakses kluster PolarDB dari lingkungan lokal, buat daftar putih alamat IP dan tambahkan alamat IP publik lingkungan lokal Anda ke daftar putih.

      Gunakan metode berikut untuk mendapatkan alamat IP publik lingkungan lokal Anda:

      • Linux: Buka CLI, masukkan perintah curl ifconfig.me, lalu tekan tombol Enter.

      • Windows: Buka Command Prompt, masukkan perintah curl ip.me, lalu tekan tombol Enter.

      • macOS: Mulai Terminal, masukkan perintah curl ifconfig.me, lalu tekan tombol Enter.

      Jika proxy digunakan untuk jaringan lokal Anda, alamat IP yang diperoleh mungkin bukan alamat IP publik aktual Anda. Anda dapat menambahkan blok CIDR 0.0.0.0/0 ke daftar putih kluster PolarDB. Setelah terhubung ke kluster, jalankan perintah SELECT pid,usename,datname,client_addr,state,query FROM pg_stat_activity WHERE state = 'active'; untuk mendapatkan alamat IP publik aktual dan tambahkan ke daftar putih kluster. Lalu, hapus blok CIDR 0.0.0.0/0 dari daftar putih.

      image

    • Menambahkan blok CIDR 0.0.0.0/0 ke daftar putih IP akan mengizinkan semua sumber untuk mengakses kluster. Hindari menambahkan 0.0.0.0/0 kecuali benar-benar diperlukan.

Setelah menyelesaikan persiapan, Anda dapat menghubungkan ke kluster.

Hubungkan ke kluster

Ada beberapa cara untuk menghubungkan ke kluster. Pilih metode yang paling sesuai dengan kebutuhan bisnis Anda. Berikut adalah contoh cara menghubungkan ke kluster.

Gunakan DMS untuk menghubungkan ke kluster

Data Management (DMS) adalah alat manajemen data grafis dari Alibaba Cloud. Alat ini menyediakan layanan manajemen data seperti manajemen data, skema, pengguna, audit keamanan, tren data, pelacakan data, business intelligence (BI), optimasi kinerja, dan manajemen server. Anda dapat mengelola kluster PolarDB langsung menggunakan DMS tanpa alat lain.

  1. Masuk ke Konsol PolarDB. Dalam daftar kluster, klik ID kluster yang ingin dihubungkan untuk membuka halaman Basic Information. Di pojok kanan atas halaman, klik Log On To Database.image

  2. Di kotak dialog yang muncul, masukkan akun database dan kata sandi yang telah dibuat untuk kluster, lalu klik Login.image

  3. Setelah berhasil masuk, pilih Database Instances > Instances Connected di panel navigasi sisi kiri untuk mengelola kluster .image

Gunakan klien untuk menghubungkan ke kluster

Anda dapat menggunakan klien untuk menghubungkan ke kluster PolarDB. Prosedur berikut menggunakan klien pgAdmin 4 v9.0 untuk menghubungkan ke kluster.

  1. Unduh dan instal klien pgAdmin 4.

  2. Buka klien pgAdmin 4, klik kanan Servers, dan pilih Register > Server....image

  3. Di tab General, atur nama koneksi. Di tab Connection, konfigurasikan informasi koneksi kluster, dan klik Save.image

    image

    Parameter

    Deskripsi

    Host name/address

    Titik akhir dan port kluster PolarDB.

    • Untuk mengakses kluster PolarDB dari instance ECS, dan instance ECS berada di VPC yang sama dengan kluster PolarDB, tentukan titik akhir Private dan port.

    • Untuk mengakses kluster PolarDB dari lingkungan lokal Anda, tentukan titik akhir Public dan port.

    • Nomor port default adalah 5432.

    Port

    Username

    Akun database dan kata sandi kluster PolarDB.

    Password

  4. Lihat hasil koneksi. Jika informasi koneksi benar, antarmuka berikut muncul menunjukkan koneksi berhasil.image

    Catatan

    postgres adalah database sistem default. Jangan melakukan operasi apa pun pada database ini.

Gunakan psql untuk menghubungkan ke kluster

Anda dapat mengunduh psql dari Unduhan PostgreSQL untuk menghubungkan ke kluster PolarDB. Anda juga dapat menggunakan psql di PolarDB-Tools untuk menghubungkan ke kluster PolarDB.

Catatan
  • Metode koneksi kluster menggunakan psql sama untuk sistem Windows dan Linux.

  • Untuk informasi lebih lanjut tentang cara menggunakan psql, lihat psql.

Sintaksis

psql -h <host> -p <port> -U <username> -d <dbname>

Parameter

Deskripsi

host

Titik akhir kluster dan port dari kluster PolarDB.

  • Untuk mengakses kluster PolarDB dari instance ECS, dan instance ECS berada di VPC yang sama dengan kluster PolarDB, tentukan titik akhir Private dan port.

  • Untuk mengakses kluster PolarDB dari lingkungan lokal Anda, tentukan titik akhir Public dan port.

  • Nomor port default adalah 5432

port

username

Akun database dari kluster PolarDB.

dbname

Nama database.

Contoh

psql -h pc-xxx.rwlb.rds.aliyuncs.com -p 5432 -U testusername -d postgres

Terhubung ke kluster dalam bahasa pemrograman

Menghubungkan ke kluster PolarDB for PostgreSQL mirip dengan menghubungkan ke database PostgreSQL biasa. Anda hanya perlu mengubah parameter koneksi seperti titik akhir, port, akun, dan kata sandi. Berikut adalah contoh cara terhubung ke kluster PolarDB dalam beberapa bahasa pemrograman.

Java

Contoh ini menjelaskan cara terhubung ke kluster PolarDB for PostgreSQL menggunakan driver JDBC PostgreSQL dalam proyek Java berbasis Maven.

  1. Tambahkan dependensi driver JDBC PostgreSQL ke file pom.xml Anda. Contoh kode:

    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>42.2.18</version>
    </dependency>
  2. Hubungkan ke kluster. Ganti placeholder <HOST>, <PORT>, <USER>, <PASSWORD>, <DATABASE>, <YOUR_TABLE_NAME>, dan <YOUR_TABLE_COLUMN_NAME> dengan parameter koneksi kluster yang sebenarnya.

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class PolarDBConnection {
        public static void main(String[] args) {
            // URL database, nama pengguna, dan kata sandi.
            String url = "jdbc:postgresql://<HOST>:<PORT>/<DATABASE>";
            String user = "<USER>";
            String password = "<PASSWORD>";
    
            try {
                // Muat driver JDBC PostgreSQL.
                Class.forName("org.postgresql.Driver");
                
                // Bentuk koneksi.
                Connection conn = DriverManager.getConnection(url, user, password);
                
                // Buat objek Statement.
                Statement stmt = conn.createStatement();
                
                // Jalankan query SQL.
                ResultSet rs = stmt.executeQuery("SELECT * FROM <YOUR_TABLE_NAME>");
                
                // Proses set hasil.
                while (rs.next()) {
                    System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>"));
                }
                
                // Tutup sumber daya.
                rs.close();
                stmt.close();
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

Python

Contoh ini menjelaskan cara terhubung ke kluster PolarDB for PostgreSQL menggunakan pustaka psycopg2 di Python 3.

  1. Pasang pustaka psycopg2.

    pip3 install psycopg2-binary
  2. Hubungkan ke kluster. Ganti placeholder <HOST>, <PORT>, <USER>, <PASSWORD>, <DATABASE>, dan <YOUR_TABLE_NAME> dengan parameter koneksi kluster yang sebenarnya.

    import psycopg2
    
    try:
        # Parameter koneksi
        conn = psycopg2.connect(
            host="<HOST>",  # Titik akhir kluster.
            database="<DATABASE>",  # Nama database.
            user="<USER>",  # Nama pengguna.
            password="<PASSWORD>",  # Kata sandi.
            port="<PORT>"  # Nomor port.
        )
    
        # Buat objek cursor.
        cursor = conn.cursor()
    
        # Jalankan query.
        cursor.execute("SELECT * FROM <YOUR_TABLE_NAME>")
    
        # Dapatkan semua hasil.
        records = cursor.fetchall()
        for record in records:
            print(record)
            
    except Exception as e:
        print("Error:", e)
    finally:
        # Tutup koneksi.
        if 'cursor' in locals():
            cursor.close()
        if 'conn' in locals():
            conn.close()

Go

Contoh ini menjelaskan cara terhubung ke kluster PolarDB for PostgreSQL menggunakan paket database/sql dan driver lib/pq di Go 1.23.0.

  1. Pasang driver lib/pq.

    go get -u github.com/lib/pq
  2. Hubungkan ke kluster. Ganti placeholder <HOST>, <PORT>, <USER>, <PASSWORD>, <DATABASE>, dan <YOUR_TABLE_NAME> dengan parameter koneksi kluster yang sebenarnya.

    package main
    
    import (
        "database/sql"
        "fmt"
        "log"
    
        _ "github.com/lib/pq" // Inisialisasi driver PostgreSQL.
    )
    
    func main() {
        // Format string koneksi.
        connStr := "user=<USER> password=<PASSWORD> dbname=<DATABASE> host=<HOST> port=<PORT> sslmode=disable"
    
        // Buka koneksi database.
        db, err := sql.Open("postgres", connStr)
        if err != nil {
            log.Fatal(err)
        }
        defer db.Close() // Tutup koneksi saat program keluar.
    
        // Uji koneksi.
        err = db.Ping()
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println("Terhubung ke PostgreSQL!")
    
        // Jalankan query.
        rows, err := db.Query("SELECT * FROM <YOUR_TABLE_NAME>")
        if err != nil {
            log.Fatal(err)
        }
        defer rows.Close()
    }
    

FAQ

Mengapa saya tidak dapat menghubungkan instance ECS ke kluster PolarDB?

Gunakan langkah-langkah berikut untuk memecahkan masalah ini:

  1. Periksa apakah kluster PolarDB dalam status Running.

  2. Periksa apakah titik akhir database, port, akun, dan kata sandi benar. Untuk informasi lebih lanjut, lihat Dapatkan titik akhir database dan port.

  3. Periksa kondisi jaringan. Anda dapat menjalankan perintah ping atau telnet di instance ECS untuk menguji konektivitas jaringan.

    1. Jika Anda menggunakan titik akhir Private:

      1. Periksa apakah instance ECS dan kluster PolarDB berada di VPC yang sama. Jika tidak, Anda tidak dapat menggunakan titik akhir Private. Anda dapat menggunakan salah satu metode berikut untuk menempatkan instance ECS dan kluster PolarDB di VPC yang sama:

      2. Periksa apakah alamat IP privat, blok CIDR, atau kelompok keamanan instance ECS ditambahkan ke daftar putih kluster PolarDB. Untuk informasi lebih lanjut, lihat Konfigurasikan daftar putih kluster.

    2. Jika Anda menggunakan titik akhir Public, periksa apakah alamat IP publik atau kelompok keamanan instance ECS ditambahkan ke daftar putih kluster PolarDB. Untuk informasi lebih lanjut, lihat Konfigurasikan daftar putih kluster.

Catatan

Host virtual dan server ringan tidak dapat digunakan untuk menghubungkan ke kluster PolarDB melalui titik akhir Private.

Mengapa saya tidak dapat menghubungkan ke kluster PolarDB dari lingkungan lokal saya?

Gunakan langkah-langkah berikut untuk memecahkan masalah ini:

  1. Periksa apakah kluster PolarDB dalam status Running.

  2. Periksa apakah titik akhir database, port, akun, dan kata sandi benar. Untuk informasi lebih lanjut, lihat Dapatkan titik akhir database dan port.

  3. Catatan

    Titik akhir Public harus digunakan. Jika Anda menggunakan instance ECS yang berada di VPC yang sama dengan kluster PolarDB, Anda dapat menggunakan titik akhir Private.

  4. Periksa kondisi jaringan. Anda dapat menjalankan perintah ping atau telnet di lingkungan lokal Anda untuk menguji konektivitas jaringan.

  5. Periksa apakah alamat IP publik atau blok CIDR lingkungan lokal Anda ditambahkan ke daftar putih kluster PolarDB. Untuk informasi lebih lanjut, lihat Konfigurasikan daftar putih

    Gunakan metode berikut untuk mendapatkan alamat IP publik lingkungan lokal Anda:

    • Linux: Buka CLI, masukkan perintah curl ifconfig.me, lalu tekan tombol Enter.

    • Windows: Buka Command Prompt, masukkan perintah curl ip.me, lalu tekan tombol Enter.

    • macOS: Mulai Terminal, masukkan perintah curl ifconfig.me, lalu tekan tombol Enter.

    Jika proxy digunakan untuk lingkungan jaringan lokal Anda, alamat IP yang diperoleh dengan metode sebelumnya mungkin bukan alamat IP publik aktual Anda. Anda dapat menambahkan blok CIDR 0.0.0.0/0 ke daftar putih kluster PolarDB. Setelah Anda menghubungkan ke kluster, jalankan perintah SELECT pid,usename,datname,client_addr,state,query FROM pg_stat_activity WHERE state = 'active'; untuk mendapatkan alamat IP publik aktual dan tambahkan ke daftar putih kluster. Lalu, hapus blok CIDR 0.0.0.0/0 dari daftar putih.

    image

Saya tidak dapat menghubungkan ke kluster PolarDB. Kesalahan berikut dikembalikan: otentikasi kata sandi gagal untuk pengguna

Akun database atau kata sandi salah. Pastikan Anda memasukkan akun dan kata sandi yang benar. Anda dapat masuk ke Konsol PolarDB dan pilih Settings and Management > Accounts untuk mengelola akun database dan kata sandi.

Saya tidak dapat menghubungkan ke kluster PolarDB. Kesalahan berikut dikembalikan: nama atau layanan tidak dikenal

Titik akhir kluster salah. Pastikan Anda memasukkan titik akhir yang benar. Format titik akhir yang benar adalah pc-xxx.xxx.rds.aliyuncs.com. Anda dapat masuk ke Konsol PolarDB dan pilih Basic Information > Database Connections untuk mengelola titik akhir kluster Anda.

Saya tidak dapat menghubungkan ke kluster PolarDB. Kesalahan berikut dikembalikan: waktu koneksi habis

Alamat IP publik atau blok CIDR lingkungan saat ini tidak ditambahkan ke daftar putih kluster PolarDB, atau alamat IP publik atau blok CIDR yang ditambahkan ke daftar putih salah.

Gunakan metode berikut untuk mendapatkan alamat IP publik lingkungan lokal Anda:

  • Linux: Buka CLI, masukkan perintah curl ifconfig.me, lalu tekan tombol Enter.

  • Windows: Buka Command Prompt, masukkan perintah curl ip.me, lalu tekan tombol Enter.

  • macOS: Mulai Terminal, masukkan perintah curl ifconfig.me, lalu tekan tombol Enter.

Jika proxy digunakan untuk jaringan lokal Anda, alamat IP yang diperoleh mungkin bukan alamat IP publik aktual Anda. Anda dapat menambahkan blok CIDR 0.0.0.0/0 ke daftar putih kluster PolarDB. Setelah terhubung ke kluster, jalankan perintah SELECT pid,usename,datname,client_addr,state,query FROM pg_stat_activity WHERE state = 'active'; untuk mendapatkan alamat IP publik aktual dan tambahkan ke daftar putih kluster. Lalu, hapus blok CIDR 0.0.0.0/0 dari daftar putih.

image

Bagaimana cara mengubah metode koneksi untuk kluster PolarDB menggunakan DMS dari titik akhir utama ke titik akhir kluster?

Jika Anda menggunakan DMS untuk menghubungkan ke kluster, sistem secara default menggunakan Primary Endpoint untuk menghubungkan ke kluster. Jika Anda harus menggunakan Cluster Endpoint untuk menghubungkan ke kluster PolarDB, ikuti langkah-langkah berikut:

  1. Setelah terhubung ke kluster menggunakan DMS, pilih Database Instances > Instansi Terhubung di panel navigasi sisi kiri. Temukan dan klik kanan kluster, lalu pilih Edit.

    image

  2. Di kotak dialog Edit, navigasikan ke bagian Informasi Dasar. Ubah parameter Metode Koneksi menjadi Connection String Address, masukkan cluster endpoint, lalu klik Save.image

Penting

Setelah mengubah string koneksi untuk mengakses kluster PolarDB, tutup jendela SQL asli dan buka yang baru untuk memastikan pengaturan yang diperbarui berlaku.

Referensi