Opções avançadas de ligação

Este artigo aborda as funcionalidades avançadas de ligação na extensão PostgreSQL para Visual Studio Code. Use estas opções quando precisar de reutilizar uma cadeia de ligação existente, fornecer ficheiros de certificado para validação TLS mais rigorosa, ou ligar através de um host bastion com um túnel SSH.

Sugestão

Para autenticação padrão, seleção do modo SSL, grupos de servidores e ligações guardadas, consulte Ligações e identidade.

Utilizar o modo de introdução por cadeia de ligação

Selecione o separador Cadeia de Ligação (em Ligar via:) na caixa de diálogo de ligação para colar uma definição de ligação existente. A extensão analisa automaticamente a cadeia e preenche os campos de ligação.

A página utiliza um layout de duas colunas:

  • Coluna da esquerda: uma área de texto identificada como Cadeia de ligação onde cola a cadeia de ligação. Uma dica abaixo da área de texto diz: Por favor, omita a palavra-passe da cadeia de ligação.
  • Coluna da direita: um painel de Detalhes de Ligação apenas de leitura que mostra os valores analisados do nome do servidor, nome do utilizador e nome da base de dados à medida que são extraídos.

A análise é feita em tempo real à medida que escreve ou cola. Se o parser detetar um valor de servidor ou utilizador em falta, aparece um erro de validação acima da área de texto.

Formatos suportados

A extensão reconhece nove formatos de cadeia de ligação:

Format Prefixo ou gatilho Example
PostgreSQL URI postgres:// ou postgresql:// postgresql://user:password@host:5432/dbname?sslmode=require
JDBC jdbc:postgresql:// jdbc:postgresql://host:5432/dbname
Separado por ponto e vírgula (chave=valor) Contém ; host=localhost;port=5432;dbname=mydb;user=postgres;password=secret
psql Linha de comandos psql psql -h host -p 5432 -U user -d dbname
Exportações de variáveis ambientais export export PGHOST=localhost seguido de PGPORT, PGUSER, PGDATABASE, PGPASSWORD
Node.js new Client new Client({ host: "localhost", port: 5432, user: "postgres", database: "mydb" })
Python (psycopg2) psycopg2.connect psycopg2.connect(user="postgres", password="<your-password>", host="localhost", port=5432, database="mydb")
PHP pg_connect pg_connect("host=localhost port=5432 dbname=mydb user=postgres")
Ruby PG::Connection.new PG::Connection.new(host: "localhost", port: "5432", user: "postgres", database: "mydb")

O parser extrai host, utilizador, porta, base de dados e palavra-passe de todos os formatos. Se um campo de palavra-passe já estiver preenchido no diálogo, o analisador preserva o valor existente.

Note

Depois de analisar, ainda podes abrir a gaveta Avançada para configurar definições que as strings de ligação não transportam, como túneis SSH ou o modo de acesso AI por ligação (modo de acesso Copilot no Visual Studio Code, modo de acesso AI no Cursor).

Configurar ficheiros de certificados

Utilize as definições do ficheiro de certificado na secção expansível SSL do painel Definições Avançadas de Ligação quando o seu ambiente exigir TLS mútuo ou validação explícita da autoridade certificadora.

Modo de certificado raiz SSL

A lista suspensa modo do certificado de raiz SSL controla a forma como a extensão fornece o certificado da AC de raiz. Escolha um dos seguintes valores:

Mode Comportamento
Nenhum Não é utilizado nenhum certificado raiz. A extensão não verifica a cadeia de certificados do servidor.
System A extensão utiliza a loja de certificados de confiança do seu sistema operativo. Este modo requer o modo Verify-Full SSL; a extensão faz isto ser aplicado automaticamente.
Ficheiro personalizado Aparece um campo de texto rotulado como nome do ficheiro do certificado raiz SSL . Introduza o caminho para um ficheiro de certificado de CA raiz codificado em PEM.

Importante

Quando seleciona Sistema, o modo SSL é definido automaticamente para Verify-Full . Se alterar o modo SSL para outro valor enquanto o Sistema está ativo, aparece um erro de validação: "Verify-Full modo SSL é necessário ao usar a memória de certificados do sistema."

Campos do certificado do cliente

Configure o TLS mútuo fornecendo caminhos nestes campos dentro da secção SSL :

Rótulo do campo Property Description
Nome do ficheiro do certificado SSL sslcert Caminho para o ficheiro do certificado do cliente.
Nome do ficheiro da chave SSL sslkey Caminho para o ficheiro de chave privada do cliente.
Nome do ficheiro raiz do certificado raiz SSL sslrootcert Caminho para o certificado raiz da CA (visível apenas quando o modo de certificado raiz SSL for ficheiro personalizado).
Nome de ficheiro SSL CRL sslcrl Caminho para o ficheiro da lista de revogação de certificados.
Utilize a compressão SSL sslcompression Ativa compressão na ligação SSL.

Sugestão

Para os modos Verify-CA e Verify-Full , configure sempre o certificado raiz para que a extensão possa validar o certificado do servidor. Use o modo Sistema para confiar na loja de CA confiável do seu sistema operativo sem especificar um caminho de ficheiro.

Ligação através de um túnel SSH

O tunelamento SSH encaminha a ligação PostgreSQL através de um canal SSH encriptado. Use esta abordagem quando a base de dados não estiver diretamente acessível a partir da sua estação de trabalho. Por exemplo, quando o servidor reside numa rede privada atrás de um servidor bastião.

Ativar o túnel

  1. Abre a caixa de diálogo de ligação e seleciona Avançado para abrir a gaveta de Definições de Ligação Avançada .
  2. Expandir a secção do acordeão do Túnel SSH .
  3. Verifica a opção Ativar Tunelamento SSH . Os campos de ligação SSH aparecem.

Campos do túnel SSH

Rótulo do campo Description
anfitrião Nome do host ou endereço IP do servidor SSH (host bastião).
porto Número da porta do servidor SSH (por defeito: 22).
nome de utilizador Nome de utilizador para autenticar com o servidor SSH.
Authentication Método de autenticação SSH. Escolha palavra-passe, ficheiro de identidade ou agente SSH.

Os campos restantes mudam consoante o método de autenticação selecionado:

Método de autenticação Campos adicionais mostrados
Senha palavra-passe/frase de acesso: introduza a palavra-passe do SSH. Caixa de seleção “Guardar palavra-passe/frase-passe” para guardar a credencial.
Ficheiro de Identidade Ficheiro de identidade: introduza o caminho completo para a sua chave privada SSH (por exemplo, ~/.ssh/id_ed25519). palavra-passe/frase-passe: introduza a frase-passe da chave se a chave privada estiver encriptada. caixa de verificação “Guardar palavra-passe/frase-passe”.
Agente SSH Sem campos adicionais. A extensão delega a autenticação ao agente SSH do seu sistema (ssh-agentno macOS e Linux, serviço OpenSSH Authentication Agent no Windows).

Como funciona o túnel

Quando o túnel SSH está ativado, a extensão estabelece primeiro a ligação SSH, cria um encaminhamento de porta local e depois liga-se ao PostgreSQL através desse encaminhamento. Por causa disto:

  • O nome do servidor nos campos principais da ligação deve ser o endereço da base de dados tal como é visto a partir do anfitrião SSH, que é frequentemente localhost ou um IP privado.
  • A porta deve ser a porta PostgreSQL no host alvo (tipicamente 5432).
  • O estabelecimento do túnel SSH adiciona latência de ligação. Considere aumentar o valor de tempo limite de ligação nas opções avançadas, se ocorrerem tempos limite.

Escolha a opção avançada certa

Scenario Funcionalidade recomendada
Já tem um URI PostgreSQL, um trecho de aplicação ou um comando psql já existente Selecione o separador Cadeia de Ligação para preencher os campos automaticamente.
A sua organização requer ficheiros CA personalizados ou TLS mútuo Configure os campos do certificado SSL na secção SSL da gaveta avançada.
Precisa de usar a loja de certificados do seu sistema operativo para verificação do servidor Defina o modo de certificado raiz SSL para Sistema e o modo SSL para Verificação-Completo.
A base de dados está acessível apenas através de um servidor de salto ou de um servidor bastião Ative o túnel SSH na secção do Túnel SSH da gaveta avançada.