Share via


Obtención de puntos de conexión y creación de los cadena de conexión para el servidor PostgreSQL habilitado para Azure Arc

En este artículo se explica cómo se pueden recuperar los puntos de conexión del grupo de servidores y cómo se pueden formar las cadenas de conexión que se pueden utilizar con las aplicaciones o herramientas.

Nota:

Como característica en versión preliminar, la tecnología que se presenta en este artículo está sujeta a los términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Las actualizaciones más recientes están disponibles en las notas de la versión.

Obtención de puntos de conexión:

Ejecute el siguiente comando:

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

Por ejemplo:

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

Devuelve la lista de puntos de conexión: el punto de conexión de PostgreSQL, el panel de búsqueda de registros (Kibana) y el panel de métricas (Grafana). Por ejemplo:

{
  "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"
}

Use estos puntos de conexión para:

  • Formar las cadenas de conexión y conectarse con las aplicaciones o herramientas de cliente
  • Acceder a los paneles Grafana y Kibana desde el explorador

Por ejemplo, puede usar el punto de conexión denominado Instancia de PostgreSQL para conectarse con psql al grupo de servidores:

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=#

Nota:

  • La contraseña de usuario postgres indicada en el punto de conexión denominado "instancia de PostgreSQL" es la contraseña que eligió al implementar el grupo de servidores.

Desde la CLI con kubectl

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

Por ejemplo:

kubectl get postgresqls/postgres01 -n arc

Estos comandos producirán una salida como la siguiente. Puede usar esa información para formar las cadenas de conexión:

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

Formación de cadenas de conexión

Use los ejemplos de cadenas de conexión siguientes para el grupo de servidores. Cópielos, péguelos y personalícelos según sea necesario:

Importante

SSL es necesario para las conexiones de cliente. En la cadena de conexión, el parámetro de modo SSL no debe deshabilitarse. Para obtener más información, consulte 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