Conectarse usando un cliente psql

Puedes usar el cliente de línea de comandos de PostgreSQL para conectarte a Cloud SQL. Esta página describe cómo conectar un cliente psql a tu instancia de Cloud SQL, ya sea que se ejecute localmente en tu equipo cliente, en una máquina virtual de Compute Engine o en Cloud Shell.

Antes de empezar

Antes de poder usar un cliente psql para conectarse a su instancia de Cloud SQL, haga lo siguiente:

Utilice un cliente PostgreSQL en una máquina local o una máquina virtual de Compute Engine

El uso de un cliente psql para conectarse a su instancia de Cloud SQL implica tres tareas de alto nivel:

  1. Instalar el cliente .
  2. Configure el acceso a su instancia de Cloud SQL .
  3. Conéctese a su instancia de Cloud SQL .

Instalar el cliente

Para instalar el cliente psql , haga lo siguiente:

Debian/Ubuntu

Instale el cliente psql desde el administrador de paquetes:

sudo apt-get update
sudo apt-get install postgresql-client

CentOS/RHEL

Instale el cliente psql desde el administrador de paquetes:

sudo yum install postgresql

openSUSE

Instale el cliente psql desde el administrador de paquetes:

sudo zypper install postgresql

Otras plataformas

  1. Descargue la distribución principal de PostgreSQL para su plataforma desde la página de descargas de PostgreSQL .
    La distribución principal incluye el cliente psql.
  2. Instale la base de datos PostgreSQL, siguiendo las instrucciones de la página de descarga.

Configurar el acceso a su instancia de Cloud SQL

Para configurar el acceso a su instancia, haga lo siguiente:

  1. Desde la máquina cliente o la instancia de VM de Compute Engine, use ¿Cuál es mi IP? para ver la dirección IP de la máquina cliente.
  2. Copia esa dirección IP.
  3. En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .

    Ir a Instancias de Cloud SQL

  4. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  5. Seleccione Conexiones en el menú de navegación de SQL.
  6. Seleccione la pestaña Redes .
  7. En la sección Redes autorizadas , haga clic en Agregar red e ingrese la dirección IP de la máquina donde está instalado el cliente.
  8. Haz clic en Listo . Luego, haz clic en Guardar al final de la página para guardar los cambios.
  9. Conéctese a su instancia, ya sea usando SSL/TLS o sin cifrado (sin usar SSL/TLS) .

Conéctese a su instancia de Cloud SQL sin cifrado

Para permitirle conectarse sin cifrado, la instancia debe tener el modo SSL configurado en ALLOW_UNENCRYPTED_AND_ENCRYPTED . En el Google Cloud consola, la configuración equivalente es Permitir tráfico de red sin cifrar .

Para obtener más información sobre la configuración SSL/TLS de su instancia, consulte Configurar certificados SSL/TLS .

Para conectarse a su instancia, haga lo siguiente:

  1. Confirme que ha instalado el cliente y configurado el acceso a su instancia .
  2. Inicie el cliente psql :
    psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
  3. Introduzca su contraseña.
  4. Aparece el indicador psql.

Conéctese a su instancia de Cloud SQL mediante SSL/TLS

Para conectarse a su instancia mediante SSL/TLS y autenticación integrada:

  1. Inicie el cliente psql :
    psql "sslmode=require \
          hostaddr=INSTANCE_IP_ADDRESS \
          user=postgres dbname=DB_NAME"
       

    Por ejemplo:

    psql "sslmode=require \
          hostaddr=203.12.34.56 \
          user=postgres dbname=postgres"
       

    También podría ser útil crear un archivo de servicio de conexión para administrar los parámetros de conexión, especialmente si se conecta a más de una instancia. Para más información, consulte la documentación de PostgreSQL .

  2. Ingrese la contraseña. Esta es obligatoria para Cloud SQL, aunque PostgreSQL admite la conectividad sin contraseña al usar SSL/TLS.
  3. Puede confirmar que la conexión está cifrada buscando el cifrado en la información de conexión:
    SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
    

Conéctese a su instancia de Cloud SQL mediante SSL/TLS y la verificación del certificado de cliente

Si ssl_mode en su instancia de Cloud SQL está configurado como TRUSTED_CLIENT_CERTIFICATE_REQUIRED , también deberá proporcionar una identidad de cliente verificada cuando inicie sesión.

Para conectarse mediante certificados SSL/TLS con verificación del cliente, necesita lo siguiente:

  • Un certificado de clave pública de cliente en un archivo client-cert.pem .
  • Una clave privada de cliente en un archivo client-key.pem .

Además, para permitir que el cliente verifique la identidad del servidor para la autenticación mutua, especifique el certificado de servidor server-ca.pem .

Por ejemplo, para iniciar el cliente psql :
   psql "sslmode=verify-ca sslrootcert=server-ca.pem \
      sslcert=client-cert.pem sslkey=client-key.pem \
      hostaddr=INSTANCE_IP_ADDRESS \
      user=postgres dbname=DB_NAME"
   

Si no tiene un certificado de cliente y una clave privada correspondiente, cree un nuevo certificado de cliente .

Uso del cliente en Cloud Shell

Para conectarse a una instancia de Cloud SQL (solo IP pública):

  1. Ir a la Google Cloud consola.

    Ir a la Google Cloud consola

  2. Haga clic en el icono de Cloud Shell hacia la derecha en la barra de herramientas.

    Cloud Shell tarda unos instantes en inicializarse.

  3. En el indicador de Cloud Shell, use el cliente integrado para conectarse a su instancia de Cloud SQL:
    gcloud sql connect INSTANCE_ID \
    --user=postgres
  4. Introduzca su contraseña.

El comando gcloud sql connect no permite conectarse a una instancia de Cloud SQL mediante una IP privada ni mediante SSL/TLS. Para conectarse con cifrado, instale y use el proxy en Cloud Shell:

  1. Instale el proxy (Linux 64 bits) en el directorio /home/USER .
  2. Inicie el proxy mediante la autenticación CLI de gcloud:

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

  3. Conéctese a la base de datos mediante la conexión TCP:

    psql -U USERNAME --host=127.0.0.1

¿Qué sigue?

Pruébelo usted mismo

Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los nuevos clientes también reciben $300 en créditos gratuitos para ejecutar, probar e implementar cargas de trabajo.

Pruebe Cloud SQL gratis