Dapatkan titik akhir koneksi & buat string koneksi untuk server PostgreSQL dengan dukungan Azure Arc Anda

Artikel ini menjelaskan bagaimana Anda dapat mengambil titik akhir koneksi untuk grup server dan bagaimana Anda dapat membentuk string koneksi, yang dapat digunakan dengan aplikasi dan/atau alat.

Catatan

Sebagai fitur pratinjau, teknologi yang tersaji dalam artikel ini tunduk pada Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Pembaruan terbaru tersedia dalam catatan rilis.

Dapatkan titik akhir koneksi:

Jalankan perintah berikut:

az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s

Misalnya:

az postgres server-arc endpoint list -n postgres01 --k8s-namespace arc --use-k8s

Hal ini menampilkan daftar titik akhir: titik akhir PostgreSQL, dasbor pencarian log (Kibana), dan dasbor metrik (Grafana). Misalnya:

{
  "instances": [
    {
      "endpoints": [
        {
          "description": "PostgreSQL Instance",
          "endpoint": "postgresql://postgres:<replace with password>@12.345.567.89:5432"
        },
        {
          "description": "Log Search Dashboard",
          "endpoint": "https://23.456.78.99:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:postgres01'))"
        },
        {
          "description": "Metrics Dashboard",
          "endpoint": "https://34.567.890.12:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
        }
      ],
      "engine": "PostgreSql",
      "name": "postgres01"
    }
  ],
  "namespace": "arc"
}

Gunakan titik akhir ini untuk:

  • Membentuk string koneksi Anda dan menyambungkan dengan alat atau aplikasi klien Anda
  • Mengakses dasbor Grafana dan Kibana dari browser Anda

Misalnya, Anda dapat menggunakan titik akhir bernama Instans PostgreSQL untuk terhubung dengan psql ke grup server:

psql postgresql://postgres:MyPassworkd@12.345.567.89:5432
psql (10.14 (Ubuntu 10.14-0ubuntu0.18.04.1), server 12.4 (Ubuntu 12.4-1.pgdg16.04+1))
WARNING: psql major version 10, server major version 12.
         Some psql features might not work.
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=#

Catatan

  • Kata sandi pengguna postgres yang ditunjukkan pada titik akhir bernama "Instans PostgreSQL" adalah kata sandi yang Anda pilih saat menyebarkan grup server.

Dari CLI dengan kubectl

kubectl get postgresqls/<server name> -n <namespace name>

Misalnya:

kubectl get postgresqls/postgres01 -n arc

Perintah tersebut akan menghasilkan output seperti yang ada di bawah ini. Anda bisa menggunakan informasi tersebut untuk membentuk string koneksi Anda:

NAME         STATE   READY-PODS   PRIMARY-ENDPOINT     AGE
postgres01   Ready   3/3          12.345.567.89:5432   9d

String koneksi formulir

Gunakan contoh string koneksi di bawah ini untuk grup server Anda. Salin, tempel, dan sesuaikan sesuai kebutuhan:

Penting

SSL diperlukan untuk koneksi klien. Dalam string koneksi, parameter mode SSL tidak boleh dinonaktifkan. Untuk informasi selengkapnya, tinjau https://www.postgresql.org/docs/14/runtime-config-connection.html.

ADO.NET

Server=192.168.1.121;Database=postgres;Port=24276;User Id=postgres;Password={your_password_here};Ssl Mode=Require;`

C++ (libpq)

host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require

JDBC

jdbc:postgresql://192.168.1.121:24276/postgres?user=postgres&password={your_password_here}&sslmode=require

Node.js

host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require

PHP

host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require

psql

psql "host=192.168.1.121 port=24276 dbname=postgres user=postgres password={your_password_here} sslmode=require"

Python

dbname='postgres' user='postgres' host='192.168.1.121' password='{your_password_here}' port='24276' sslmode='true'

Ruby

host=192.168.1.121; dbname=postgres user=postgres password={your_password_here} port=24276 sslmode=require