Conéctate con un cliente de psql

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

Antes de comenzar

Antes de usar un cliente psql para conectarte a tu instancia de Cloud SQL, haz lo siguiente:

Usa un cliente PostgreSQL en una máquina local o en una VM de Compute Engine

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

  1. Instala el cliente.
  2. Configura el acceso a tu instancia de Cloud SQL.
  3. Conéctate a tu instancia de Cloud SQL.

Instala el cliente

Para instalar el cliente de psql, haz lo siguiente:

Debian/Ubuntu

Instala el cliente psql desde el administrador de paquetes:

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

CentOS/RHEL

Instala el cliente psql desde el administrador de paquetes:

sudo yum install postgresql

openSUSE

Instala el cliente psql desde el administrador de paquetes:

sudo zypper install postgresql

Otras plataformas

  1. Descarga la distribución principal de PostgreSQL para tu plataforma desde la página de descargas de PostgreSQL.
    La distribución principal incluye el cliente psql.
  2. Instala la base de datos de PostgreSQL y sigue las instrucciones en la página de descargas.

Configura el acceso a tu instancia de Cloud SQL

Para configurar el acceso a la instancia, haz lo siguiente:

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

    Ir a Instancias de Cloud SQL

  4. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  5. Selecciona Conexiones en el menú de navegación de SQL.
  6. Selecciona la pestaña Herramientas de redes.
  7. En la sección Redes autorizadas, haz clic en Agregar red y, luego, ingresa la dirección IP de la máquina en la que está instalado el cliente.
  8. Haz clic en Listo y, luego, en Guardar en la parte inferior de tu página para guardar los cambios.
  9. Conéctate a tu instancia, ya sea con SSL/TLS o sin encriptación (sin SSL/TLS).

Conéctate a tu instancia de Cloud SQL sin encriptación

Para que puedas conectarte sin encriptación, la instancia debe tener el modo SSL configurado como ALLOW_UNENCRYPTED_AND_ENCRYPTED. En la consola de Google Cloud, la configuración equivalente es Permitir el tráfico de red sin encriptar.

Para obtener más información sobre la configuración SSL/TLS de tu instancia, consulta Configura certificados SSL/TLS.

Para conectarte a la instancia, sigue estos pasos:

  1. Confirma que instalaste el cliente y configuraste el acceso a tu instancia.
  2. Inicia el cliente psql:
    psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
  3. Ingresa la contraseña.
  4. Aparecerá el mensaje de psql.

Conéctate a la instancia de Cloud SQL mediante certificados SSL/TLS.

Para conectarte a tu instancia con SSL/TLS y la autenticación integrada, sigue estos pasos:

  1. Inicia 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"
       

    Además, es posible que quieras crear un archivo de servicio de conexión para administrar tus parámetros de conexión, en especial si te conectas a más de una instancia. Para obtener más información, consulta la documentación de PostgreSQL.

  2. Ingresa la contraseña. La contraseña es obligatoria para Cloud SQL aunque PostgreSQL admite conectividad sin contraseña mientras se usa SSL/TLS.
  3. Puedes confirmar que la conexión está encriptada si buscas el cifrado en la información de la conexión:
    SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
    

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

Si ssl_mode en tu instancia de Cloud SQL está configurado como TRUSTED_CLIENT_CERTIFICATE_REQUIRED, también debes proporcionar una identidad de cliente verificada cuando accedas.

Para conectarte mediante certificados SSL/TLS con la verificación del cliente, necesitas lo siguiente:

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

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

Por ejemplo, para iniciar el cliente psql, haz lo siguiente:
   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 tienes un certificado de cliente y una clave privada correspondiente, crea un certificado de cliente nuevo.

Usa el cliente en Cloud Shell

Para conectarte a una instancia de Cloud SQL (solo IP pública), sigue estos pasos:

  1. Ve a la consola de Google Cloud.

    Ve a la consola de Google Cloud.

  2. Haz clic en el ícono de Cloud Shell a la derecha de la barra de herramientas.

    Cloud Shell tarda unos minutos en inicializarse.

  3. En el mensaje de Cloud Shell, usa el cliente incorporado para conectarte a tu instancia de Cloud SQL:
    gcloud sql connect INSTANCE_ID \
    --user=postgres
  4. Escribe la contraseña.

El comando gcloud sql connect no admite la conexión a una instancia de Cloud SQL mediante una IP privada ni mediante SSL/TLS. Para conectarte con la encriptación, instala y usa el proxy en Cloud Shell:

  1. Instala el proxy (Linux de 64 bits) en el directorio /home/USER.
  2. Inicia el proxy con la autenticación de la CLI de gcloud:

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

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

    psql -U USERNAME --host=127.0.0.1

¿Qué sigue?

Pruébalo tú mismo

Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar Cloud SQL gratis