Opções avançadas de conexão

Este artigo aborda os recursos de conexão avançados na extensão PostgreSQL para Visual Studio Code. Use essas opções quando precisar reutilizar um cadeia de conexão existente, fornecer arquivos de certificado para uma validação TLS mais rigorosa ou conectar-se por meio de um host de bastion com um túnel SSH.

Dica

Para autenticação padrão, seleção de modo SSL, grupos de servidores e conexões salvas, consulte Conexões e identidade.

Usar modo de entrada de cadeia de conexão

Selecione a guia Cadeia de Conexão (em Conectar via:) na caixa de diálogo de conexão para colar uma definição de conexão existente. A extensão analisa a cadeia de caracteres automaticamente e preenche os campos de conexão.

A página usa um layout de duas colunas:

  • Coluna à esquerda: uma área de texto rotulada Cadeia de Conexão em que você cola a cadeia de caracteres. Há uma dica abaixo da área de texto que diz Por favor, omita a senha da cadeia de conexão.
  • Coluna da direita: um painel somente leitura de Detalhes da conexão que mostra os valores interpretados de Nome do servidor, Nome de usuário e Nome do banco de dados à medida que são extraídos.

A análise ocorre ao vivo à medida que você digita ou cola. Se o analisador detectar um valor de servidor ou usuário ausente, um erro de validação será exibido acima da área de texto.

Formatos com suporte

A extensão reconhece nove formatos de cadeia de conexão:

Formato 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 (key=value) Contém ; host=localhost;port=5432;dbname=mydb;user=postgres;password=secret
psql linha de comando psql psql -h host -p 5432 -U user -d dbname
Exportação de variáveis de ambiente export export PGHOST=localhostseguido por PGPORT, , PGUSER, PGDATABASEPGPASSWORD
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 analisador extrai host, usuário, porta, banco de dados e senha de todos os formatos. Se um campo de senha já estiver preenchido na caixa de diálogo, o analisador preservará o valor existente.

Note

Após o processamento, você ainda pode abrir o painel Avançado para configurar definições que as strings de conexão não incluem, como túneis SSH ou o modo de acesso à IA por conexão (modo de acesso do Copilot no Visual Studio Code, modo de acesso à IA no Cursor).

Configurar arquivos de certificado

Use as configurações do arquivo de certificado na seção expansível SSL do painel Configurações avançadas de conexão quando seu ambiente exigir TLS mútuo ou validação explícita da autoridade certificadora.

Modo de certificado raiz SSL

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

Mode Behavior
Nenhum Nenhum certificado raiz é usado. A extensão não verifica a cadeia de certificados do servidor.
System A extensão usa o repositório de certificados confiável do sistema operacional. Esse modo requer o modo SSL De Verificação Completa ; a extensão impõe isso automaticamente.
Arquivo personalizado Um campo de texto com o rótulo nome do arquivo do certificado raiz SSL é exibido. Digite o caminho de um arquivo de certificado raiz da AC codificado em PEM.

Importante

Quando você seleciona o Sistema, o modo SSL é definido como Verify-Full automaticamente. Se você alterar o modo SSL para outro valor enquanto o Sistema estiver ativo, um erro de validação será exibido: "Verify-Full modo SSL é necessário ao usar o repositório de certificados do sistema".

Campos de certificado do cliente

Configure o TLS mútuo fornecendo caminhos nesses campos na seção SSL :

Rótulo de campo Property Descrição
Nome do arquivo de certificado SSL sslcert Caminho para o arquivo de certificado do cliente.
Nome do arquivo de chave SSL sslkey Caminho para o arquivo de chave privada do cliente.
Nome do arquivo de certificado raiz SSL sslrootcert Caminho para o certificado de CA raiz (visível apenas quando o modo de certificado raiz SSL é Arquivo personalizado).
Nome do arquivo SSL CRL sslcrl Caminho para o arquivo de lista de revogação de certificados.
Usar compactação SSL sslcompression Habilita a compactação na conexão SSL.

Dica

Para os modos Verify-CA e Verify-Full , sempre configure o certificado raiz para que a extensão possa validar o certificado do servidor. Use o modo System para usar o repositório de CAs confiáveis do sistema operacional sem especificar um caminho de arquivo.

Conectar-se por meio de um túnel SSH

O túnel SSH roteia a conexão PostgreSQL por meio de um canal SSH criptografado. Use essa abordagem quando o banco de dados não estiver diretamente acessível na estação de trabalho. Por exemplo, quando o servidor está em uma rede privada atrás de um host bastion.

Habilitar o túnel

  1. Abra a caixa de diálogo de conexão e selecione Avançado para abrir a gaveta Configurações avançadas de conexão .
  2. Expanda a seção de accordion do Túnel SSH .
  3. Marque a opção Habilitar túnel SSH. Os campos de conexão SSH são exibidos.

Campos de túnel SSH

Rótulo de campo Descrição
host Nome do host ou endereço IP do servidor SSH (servidor bastion).
porta Número da porta do servidor SSH (padrão: 22).
username Nome de usuário para autenticar com o servidor SSH.
Autenticação Método de autenticação SSH. Escolha Senha, Arquivo de Identidade ou Agente SSH.

Os campos restantes são alterados dependendo do método de autenticação selecionado:

Método de autenticação Campos adicionais mostrados
Senha password/passphrase: insira a senha SSH. Caixa de seleção Salvar senha/frase secreta para salvar a credencial.
Arquivo de identidade Arquivo de identidade: insira o caminho completo para sua chave privada SSH (por exemplo, ~/.ssh/id_ed25519). password/passphrase: insira a senha da chave se a chave privada estiver criptografada. Caixa de seleção Salvar senha/frase secreta.
Agente SSH Nenhum campo adicional. A extensão delega a autenticação ao agente SSH do sistema (ssh-agent no macOS e linux, serviço do Agente de Autenticação OpenSSH no Windows).

Como funciona o túnel

Quando o túnel SSH está habilitado, a extensão estabelece primeiro a conexão SSH, cria um encaminhamento de porta local e, em seguida, conecta-se ao PostgreSQL por meio desse encaminhamento. Por este motivo:

  • O nome do servidor nos campos de conexão principais deve ser o endereço do banco de dados, conforme visto no host SSH, que geralmente localhost é ou um IP privado.
  • A porta deve ser a porta PostgreSQL no host de destino (normalmente 5432).
  • O estabelecimento do túnel SSH adiciona latência de conexão. Considere aumentar o valor do tempo limite do Connect nas opções avançadas se ocorrerem tempos limite.

Escolha a opção avançada correta

Scenario Recurso recomendado
Você tem uma URI existente do PostgreSQL, um trecho de aplicativo ou um comando psql Selecione a guia Cadeia de Conexão para preencher os campos automaticamente.
Sua organização requer arquivos de CA personalizados ou TLS mútuo Configure os campos de certificado SSL na seção SSL da gaveta avançada.
Você precisa usar o repositório de certificados do sistema operacional para verificação do servidor Defina o modo do certificado raiz SSL para System e modo SSL para Verify-Full.
O banco de dados só pode ser acessado por meio de um jump box ou host de bastiões Habilite o túnel SSH na seção Túnel SSH da gaveta avançada.