Conectarse mediante un cliente psql

Puedes usar el cliente de línea de 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, tanto si se ejecuta de forma local en la máquina del cliente como si lo hace en una VM de Compute Engine o en Cloud Shell.

Antes de empezar

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

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

Para conectarte a tu instancia de Cloud SQL con un cliente psql, debes llevar a cabo 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.

Instalar el cliente

Para instalar el cliente de psql, haz lo siguiente:

Debian o Ubuntu

Instala el cliente psql desde el administrador de paquetes:

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

CentOS o 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 básica de PostgreSQL para la plataforma en la página de descargas de PostgreSQL.
    La distribución principal incluye el cliente psql.
  2. Instala la base de datos PostgreSQL según se indica en las instrucciones de la página de descarga.

Configurar el acceso a una instancia de Cloud SQL

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

  1. En la máquina cliente o en 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 Google Cloud consola, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  4. Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
  5. En el menú de navegación de SQL, selecciona Conexiones.
  6. Selecciona la pestaña Redes.
  7. En la sección Redes autorizadas, haz clic en Añadir red e introduce la dirección IP del equipo en el que está instalado el cliente.
  8. Haz clic en Listo. A continuación, haz clic en Guardar en la parte inferior de la página para guardar los cambios.
  9. Conéctate a tu instancia mediante SSL/TLS o sin cifrado (sin usar SSL/TLS).

Conectarse a una instancia de Cloud SQL sin cifrado

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

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

Para conectarte a tu instancia, haz lo siguiente:

  1. Confirma que has instalado el cliente y configurado el acceso a tu instancia.
  2. Inicia el cliente psql:
    psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
  3. Escribe tu contraseña.
  4. Aparecerá el prompt de psql.

Conectarse a una instancia de Cloud SQL mediante SSL/TLS

Para conectarte a tu instancia mediante 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"
       

    También puedes crear un archivo de servicio de conexión para gestionar los parámetros de conexión, sobre todo si te conectas a más de una instancia. Para obtener más información, consulta la documentación de PostgreSQL.

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

Conectarse a una instancia de Cloud SQL mediante SSL/TLS y verificación de certificados de cliente

Si ssl_mode en tu instancia de Cloud SQL está configurado como TRUSTED_CLIENT_CERTIFICATE_REQUIRED, debes proporcionar una identidad de cliente verificada al iniciar sesión.

Para conectarse mediante certificados SSL/TLS con verificación de 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 que el cliente verifique la identidad del servidor en la autenticación mutua, especifica el certificado del 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 tienes un certificado de cliente y una clave privada correspondiente, crea un certificado de cliente.

Usar el cliente en Cloud Shell

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

  1. Ve a la Google Cloud consola.

    Ve a la Google Cloud consola.

  2. En la barra de herramientas, haz clic en el icono de Cloud Shell , situado en la parte derecha.

    Cloud Shell tarda unos instantes en inicializarse.

  3. En la petición de Cloud Shell, usa el cliente integrado para conectarte a tu instancia de Cloud SQL:
    gcloud sql connect INSTANCE_ID \
    --user=postgres
  4. Escribe tu 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 cifrado, 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 gcloud CLI:

    ./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

Siguientes pasos

Pruébalo

Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.

Probar Cloud SQL gratis