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:
-
Crea una instancia de Cloud SQL y configura el usuario predeterminado.
Consulta Crea instancias y Establece la contraseña para la cuenta de usuario predeterminada.
De forma opcional, crea una instancia de VM de Compute Engine y, luego, conéctala a la instancia mediante SSH.
Consulta Crea e inicia una instancia de VM, Acerca de las conexiones SSH, o Conéctate a las VMs de Windows mediante RDP.
Decide cómo te conectarás a tu instancia.
Para obtener información acerca de las opciones de conexión y cómo elegir una de ellas, consulta la sección Acerca de las opciones de conexión.
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:
- Instala el cliente.
- Configura el acceso a tu instancia de Cloud SQL.
- 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
- 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. - 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:
- 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.
- Copia esa dirección IP.
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Selecciona Conexiones en el menú de navegación de SQL.
- Selecciona la pestaña Herramientas de redes.
- 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.
- Haz clic en Listo y, luego, en Guardar en la parte inferior de tu página para guardar los cambios.
- 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:
- Confirma que instalaste el cliente y configuraste el acceso a tu instancia.
- Inicia el cliente
psql
:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- Ingresa la contraseña.
- 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:
- 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.
- Ingresa la contraseña. La contraseña es obligatoria para Cloud SQL aunque PostgreSQL admite conectividad sin contraseña mientras se usa SSL/TLS.
- 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 clientepsql
, 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:
- Ve a la consola de Google Cloud.
Ve a la consola de Google Cloud.
- Haz clic en el ícono de Cloud Shell
a la derecha de la barra de herramientas.
Cloud Shell tarda unos minutos en inicializarse.
- 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
- 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:
- Instala el proxy (Linux de 64 bits) en el directorio
/home/USER
. - Inicia el proxy con la autenticación de la CLI de gcloud:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Conéctate a la base de datos mediante la conexión TCP:
psql -U USERNAME --host=127.0.0.1
¿Qué sigue?
- Obtén más información sobre cómo configurar una instancia con una dirección IP privada.
- Obtén más información sobre las opciones para conectarte a una instancia desde tu aplicación.
- Obtén información sobre cómo funciona el cliente
psql
con SSL.