Pode usar o cliente de linha de comandos do PostgreSQL para estabelecer ligação ao Cloud SQL. Esta página descreve como ligar um cliente
psql
à sua instância do Cloud SQL, quer esteja a ser executado localmente na sua máquina cliente, numa VM do Compute Engine ou no Cloud Shell.
Antes de começar
Antes de poder usar um cliente psql
para estabelecer ligação à sua instância do Cloud SQL, faça o seguinte:
-
Criar uma instância do Cloud SQL, incluindo a configuração do utilizador predefinido.
Consulte os artigos Criar instâncias e Definir a palavra-passe da conta de utilizador predefinida.
Opcionalmente, crie uma instância de VM do Compute Engine e, em seguida, estabeleça ligação à instância através do SSH.
Consulte os artigos Crie e inicie uma instância de VM, Acerca das ligações SSH ou Estabeleça ligação a VMs do Windows através do RDP.
Determine como vai estabelecer ligação à sua instância.
Para ver as opções de associação e como escolher entre elas, consulte o artigo Acerca das opções de associação.
Use um cliente PostgreSQL numa máquina local ou numa VM do Compute Engine
A utilização de um cliente psql
para estabelecer ligação à sua instância do Cloud SQL envolve três tarefas de alto nível:
- Instale o cliente.
- Configure o acesso à sua instância do Cloud SQL.
- Estabeleça ligação à sua instância do Cloud SQL.
Instale o cliente
Para instalar o cliente psql
, faça o seguinte:
Debian/Ubuntu
Instale o cliente psql a partir do gestor de pacotes:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
Instale o cliente psql a partir do gestor de pacotes:
sudo yum install postgresql
openSUSE
Instale o cliente psql a partir do gestor de pacotes:
sudo zypper install postgresql
Outras plataformas
- Transfira a distribuição principal do PostgreSQL para a sua plataforma na página de transferências do PostgreSQL.
A distribuição principal inclui o cliente psql. - Instale a base de dados PostgreSQL seguindo as instruções na página de transferência.
Configure o acesso à sua instância do Cloud SQL
Para configurar o acesso à sua instância, faça o seguinte:
- Na máquina cliente ou na instância de VM do Compute Engine, use o site Qual é o meu IP para ver o endereço IP da máquina cliente.
- Copie esse endereço IP.
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Selecione Associações no menu de navegação do SQL.
- Selecione o separador Redes.
- Na secção Redes autorizadas, clique em Adicionar rede e introduza o endereço IP do computador onde o cliente está instalado.
psql
- Clique em Concluído. Em seguida, clique em Guardar na parte inferior da página para guardar as alterações.
- Estabeleça ligação à sua instância através de SSL/TLS ou sem encriptação (sem usar SSL/TLS).
Estabeleça ligação à sua instância do Cloud SQL sem encriptação
Para permitir a ligação sem encriptação, a instância tem de ter o
modo SSL
definido como ALLOW_UNENCRYPTED_AND_ENCRYPTED
. Na Google Cloud consola,
a configuração equivalente é Permitir tráfego de rede não encriptado.
Para mais informações acerca da configuração SSL/TLS da sua instância, consulte o artigo Configurar certificados SSL/TLS.
Para estabelecer ligação à sua instância, faça o seguinte:
- Confirme que instalou o cliente e configurou o acesso à sua instância.
- Inicie o cliente
psql
:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- Introduza a palavra-passe.
- É apresentada a linha de comandos psql.
Ligue-se à sua instância do Cloud SQL através de SSL/TLS
Para estabelecer ligação à sua instância através de 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"
Também pode criar um ficheiro de serviço de ligação para gerir os parâmetros de ligação, especialmente se estiver a estabelecer ligação a mais do que uma instância. Para mais informações, consulte a documentação do PostgreSQL.
- Introduza a palavra-passe. A palavra-passe é obrigatória para o Cloud SQL, mesmo que o PostgreSQL suporte a conetividade sem palavra-passe ao usar SSL/TLS.
- Pode confirmar que a ligação está encriptada procurando a cifra nas informações de ligação:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Estabeleça ligação à sua instância do Cloud SQL através de SSL/TLS e validação de certificados de cliente
Se ssl_mode
na sua instância do Cloud SQL estiver configurado para TRUSTED_CLIENT_CERTIFICATE_REQUIRED
, também tem de fornecer uma identidade de cliente validada quando iniciar sessão.
Para estabelecer ligação através de certificados SSL/TLS com validação de cliente, precisa do seguinte:
- Um certificado de chave pública do cliente num ficheiro client-cert.pem.
- Uma chave privada do cliente num ficheiro client-key.pem.
Além disso, para permitir que o cliente valide 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 não tiver um certificado de cliente e uma chave privada correspondente, crie um novo certificado de cliente.
Usar o cliente no Cloud Shell
Para ligar a uma instância do Cloud SQL (apenas IP público):
- Aceda à Google Cloud consola.
- Clique no ícone do Cloud Shell
na parte direita da barra de ferramentas.
O Cloud Shell demora alguns momentos a inicializar.
- Na linha de comandos do Cloud Shell, use o cliente
incorporado para se ligar à sua instância do Cloud SQL:
gcloud sql connect INSTANCE_ID \ --user=postgres
- Introduza a palavra-passe.
O comando gcloud sql connect
não suporta a ligação
a uma instância do Cloud SQL através de um IP privado ou através de SSL/TLS. Para estabelecer ligação
com encriptação, instale e use o proxy no Cloud Shell:
- Instale o proxy (Linux de 64 bits) no diretório
/home/USER
. - Inicie o proxy através da autenticação da CLI gcloud:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Faça a ligação à base de dados através da ligação TCP:
psql -U USERNAME --host=127.0.0.1
O que se segue?
- Saiba como configurar uma instância com um endereço IP privado.
- Saiba mais sobre as opções de ligação à sua instância a partir da sua aplicação.
- Saiba como o cliente
psql
funciona com SSL.
Experimente
Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Cloud SQL em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Experimente o Cloud SQL gratuitamente