É possível usar o cliente de linha de comando PostgreSQL para se conectar ao Cloud SQL. Esta página descreve como conectar um
psql
cliente à instância do Cloud SQL, seja em execução local na máquina cliente, em uma VM
do Compute Engine ou no
Cloud Shell.
Antes de começar
Antes de usar um cliente psql
para se conectar à sua instância do
Cloud SQL, faça o seguinte:
-
Crie uma instância do Cloud SQL, incluindo a configuração do usuário padrão.
Consulte Criar instâncias e Definir a senha da conta de usuário padrão.
Se quiser, criar uma instância de VM do Compute Engine e se conectar a ela usando SSH.
Consulte Criar e iniciar uma instância de VM, Sobre conexões SSH, ou Conectar-se a VMs do Windows usando o RDP.
Determine como se conectar à instância.
Para saber quais são as opções de conexão e como escolher uma delas, acesse Sobre as opções de conexão.
Usar um cliente PostgreSQL em uma máquina local ou uma VM do Compute Engine
Usar um cliente psql
para se conectar à sua instância do Cloud SQL
envolve três tarefas de alto nível:
- Instalar o cliente.
- Configurar o acesso à instância do Cloud SQL.
- Conectar à instância do Cloud SQL.
Instalar o cliente
Para instalar o cliente psql
, faça o seguinte:
Debian/Ubuntu
Instale o cliente psql do gerenciador de pacotes:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
Instale o cliente psql do gerenciador de pacotes:
sudo yum install postgresql
openSUSE
Instale o cliente psql do gerenciador de pacotes:
sudo zypper install postgresql
Outras plataformas
- Faça o download da PostgreSQL Core Distribution referente à sua plataforma na página de downloads do PostgreSQL (em inglês).
A Core Distribution inclui o cliente psql. - Instale o banco de dados PostgreSQL de acordo com as orientações contidas na página de download.
Configurar o acesso à instância do Cloud SQL
Para configurar o acesso à instância, faça o seguinte:
- Na máquina de cliente ou na instância de VM do Compute Engine, use Qual é meu IP para consultar o endereço IP.
- Copie esse endereço IP.
-
No console do Google Cloud, acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Rede.
- Na seção Redes autorizadas, clique em Adicionar rede e insira o endereço IP da máquina em que o cliente está instalado.
- Clique em Concluído e, em seguida, em Salvar na parte inferior da página para salvar as mudanças.
- Conecte-se à instância usando SSL/TLS ou sem criptografia (sem usar SSL/TLS).
Conectar-se à instância do Cloud SQL sem criptografia
Para permitir a conexão sem criptografia, o modo SSL precisa estar definido como ALLOW_UNENCRYPTED_AND_ENCRYPTED
na instância. No console do Google Cloud, a configuração equivalente é Permitir tráfego de rede não criptografado.
Para mais informações sobre a configuração SSL/TLS da sua instância, consulte Configurar certificados SSL/TLS.
Para se conectar à sua instância, faça o seguinte:
- Verifique se você instalou o cliente e configurou o acesso à instância.
- Inicie o cliente
psql
:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- Digite sua senha.
- O prompt do psql é exibido.
Conectar-se à instância do Cloud SQL usando SSL/TLS
Para se conectar à instância usando SSL/TLS e autenticação integrada:
- Inicie o cliente
psql
:psql "sslmode=require \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
Por exemplo:
psql "sslmode=require \ hostaddr=203.12.34.56 \ user=postgres dbname=postgres"
Talvez também seja útil criar um arquivo de serviço de conexão para gerenciar seus parâmetros de conexão, especialmente se você estiver se conectando a mais de uma instância. Para mais informações, consulte a documentação do PostgreSQL (em inglês).
- Digite a senha. A senha é obrigatória para o Cloud SQL, mesmo que o PostgreSQL seja compatível com a conectividade sem senha ao usar o SSL/TLS.
- É possível confirmar se a conexão foi criptografada
procurando o código nas informações de conexão:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Conectar-se à instância do Cloud SQL usando SSL/TLS e verificação de certificado do cliente
Se ssl_mode
na sua instância do Cloud SQL estiver configurado para TRUSTED_CLIENT_CERTIFICATE_REQUIRED
, também será necessário fornecer uma identidade de cliente verificada ao fazer login.
Para se conectar usando certificados SSL/TLS com a verificação do cliente, você precisa disto:
- um certificado de chave pública do cliente em um arquivo client-cert.pem;
- uma chave privada do cliente em um arquivo client-key.pem.
Além disso, para permitir que o cliente verifique a identidade do servidor para autenticação mútua, especifique o certificado do servidor server-ca.pem.
Por exemplo, para iniciar o clientepsql
:
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"
Se você não tiver um certificado do cliente e uma chave privada correspondente, crie um novo certificado do cliente.
Como usar o cliente no Cloud Shell
Para se conectar a uma instância do Cloud SQL (somente IP público), siga estas instruções:
- Acesse o console do Google Cloud.
- Clique no ícone do Cloud Shell
à direita da barra de ferramentas.
O Cloud Shell leva alguns instantes para inicializar.
- No prompt do Cloud Shell, use o cliente
integrado para se conectar à instância do Cloud SQL:
gcloud sql connect INSTANCE_ID \ --user=postgres
- Digite sua senha.
O comando gcloud sql connect
não aceita conexão com uma instância do Cloud SQL usando IP privado ou o SSL/TLS. Para se conectar com criptografia,
instale e use o proxy no Cloud Shell:
- Instale o proxy (Linux 64 bits) no diretório
/home/USER
. - Inicie o proxy usando a autenticação da gcloud CLI:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Conecte-se ao banco de dados usando a conexão TCP:
psql -U USERNAME --host=127.0.0.1
A seguir
- Saiba mais sobre como configurar uma instância com um endereço IP privado.
- Saiba mais sobre as opções de conexão à instância a partir do aplicativo.
- Saiba mais sobre como o
cliente
psql
funciona com SSL.
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Cloud SWL em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Faça uma avaliação gratuita do Cloud SQL