Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматриваются расширенные функции подключения в расширении PostgreSQL для Visual Studio Code. Используйте эти параметры, если необходимо повторно использовать существующий строка подключения, указать файлы сертификатов для более строгой проверки TLS или подключиться через узел бастиона с помощью туннеля SSH.
Tip
Сведения о стандартной проверке подлинности, выборе режима SSL, группах серверов и сохраненных подключениях см. в разделе "Подключения и удостоверения".
Использовать режим ввода строки подключения
Выберите вкладку "Строка подключения " (в разделе "Подключение через:") в диалоговом окне подключения, чтобы вставить существующее определение подключения. Расширение анализирует строку автоматически и заполняет поля подключения.
На странице используется макет двух столбцов:
- Левый столбец: текстовая область, помеченная строкой подключения , в которой вставляется строка. Подсказка под текстовым полем гласит: Пожалуйста, не указывайте пароль в строке подключения.
- Правый столбец: панель сведений о подключении только для чтения, отображающая проанализированное имя сервера, имя пользователя и значения имени базы данных при извлечении.
Синтаксический анализ выполняется по мере ввода или вставки. Если средство синтаксического анализа обнаруживает отсутствующее значение сервера или пользователя, ошибка проверки появится над текстовой областью.
Поддерживаемые форматы
Расширение распознает девять форматов строка подключения:
| Format | Префикс или триггер | Example |
|---|---|---|
| PostgreSQL URI |
postgres:// или postgresql:// |
postgresql://user:password@host:5432/dbname?sslmode=require |
| JDBC | jdbc:postgresql:// |
jdbc:postgresql://host:5432/dbname |
| Разделенные точкой с запятой (key=value) | Содержит ; |
host=localhost;port=5432;dbname=mydb;user=postgres;password=secret |
psql командная строка |
psql |
psql -h host -p 5432 -U user -d dbname |
| Экспорт переменных среды | export |
export PGHOST=localhostза которым следует PGPORT, , PGUSERPGDATABASEPGPASSWORD |
| 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") |
Парсер извлекает хост, пользователя, порт, базу данных и пароль из данных во всех форматах. Если поле пароля уже заполнено в диалоговом окне, средство синтаксического анализа сохраняет существующее значение.
Note
После разбора вы по-прежнему можете открыть панель Дополнительно, чтобы настроить параметры, которые не задаются в строках подключения, например SSH-туннели или режим доступа к ИИ для каждого подключения (режим доступа Copilot в Visual Studio Code, режим доступа к ИИ в Cursor).
Настройка файлов сертификатов
Используйте параметры файла сертификата в разделе-аккордеоне SSL на панели Дополнительные параметры подключения, если в вашей среде требуется взаимная аутентификация TLS или явная проверка центра сертификации.
Режим корневого сертификата SSL
Раскрывающийся список режим корневого сертификата SSL определяет, как расширение предоставляет корневой сертификат ЦС. Выберите одно из следующих значений:
| Режим | Поведение |
|---|---|
| Нет | Корневой сертификат не используется. Расширение не проверяет цепочку сертификатов сервера. |
| System | Расширение использует доверенное хранилище сертификатов операционной системы. Для этого режима требуется режим проверки полного SSL; расширение применяет это автоматически. |
| Собственный файл | Появится текстовое поле с меткой Имя файла корневого сертификата SSL. Введите путь к файлу сертификата корневого центра сертификации в кодировке PEM. |
Important
При выборе System режим SSL автоматически устанавливается в значение Verify-Full. При изменении режима SSL на другое значение в то время как система активна, появится ошибка проверки: "при использовании хранилища системных сертификатов требуется режим SSLVerify-Full".
Поля сертификата клиента
Настройте взаимный TLS, предоставив пути в этих полях в разделе SSL :
| Метка поля | Property | Описание |
|---|---|---|
| Имя файла SSL-сертификата | sslcert |
Путь к файлу сертификата клиента. |
| Имя файла ключа SSL | sslkey |
Путь к файлу закрытого ключа клиента. |
| Имя файла корневого сертификата SSL | sslrootcert |
Путь к сертификату корневого центра сертификации (отображается только, когда режим корневого сертификата SSL — Пользовательский файл). |
| Имя файла SSL CRL | sslcrl |
Путь к файлу списка отзыва сертификатов. |
| Использование сжатия SSL | sslcompression |
Включает сжатие ssl-подключения. |
Tip
Для режимов Verify-CA и Verify-Full всегда обязательно указывайте корневой сертификат, чтобы расширение могло проверить сертификат сервера. Используйте системный режим для использования доверенного хранилища ЦС операционной системы без указания пути к файлу.
Подключение через туннель SSH
Туннелирование SSH направляет подключение PostgreSQL через зашифрованный канал SSH. Используйте этот подход, если база данных недоступна непосредственно с рабочей станции. Например, если сервер находится в приватной сети за бастионным хостом.
Включение туннеля
- Откройте диалоговое окно подключения и выберите "Дополнительно ", чтобы открыть ящик расширенных параметров подключения .
- Разверните раздел аккордеона SSH Tunnel .
- Включите переключатель Включить туннелирование SSH. Отображаются поля подключения SSH.
Поля туннеля SSH
| Метка поля | Описание |
|---|---|
| хост | Имя узла или IP-адрес сервера SSH (узел бастиона). |
| порт | Номер порта сервера SSH (по умолчанию: 22). |
| username | Имя пользователя для проверки подлинности с помощью сервера SSH. |
| Authentication | Метод проверки подлинности SSH. Выберите пароль, файл удостоверений или агент SSH. |
Остальные поля изменяются в зависимости от выбранного метода проверки подлинности:
| Метод аутентификации | Показаны дополнительные поля |
|---|---|
| Пароль | password/passphrase: введите пароль SSH. Установите флажок "Пароль/парольная фраза", чтобы сохранить учетные данные. |
| Идентификационный файл |
Файл удостоверения: введите полный путь к закрытому ключу SSH (например, ~/.ssh/id_ed25519).
password/passphrase: введите парольную фразу ключа, если закрытый ключ зашифрован. Установите флажок "Сохранить пароль/парольную фразу". |
| Агент SSH | Никаких дополнительных полей. Расширение делегирует проверку подлинности агенту SSH системы (ssh-agentв macOS и Linux, службе агента проверки подлинности OpenSSH на Windows). |
Принцип работы туннеля
Если туннель SSH включен, расширение сначала устанавливает SSH-соединение, создает локальное перенаправление порта, а затем подключается к PostgreSQL через него. Из-за этого:
-
Имя сервера в полях основного подключения должно быть адресом базы данных, как показано на узле SSH, который часто
localhostили частный IP-адрес. -
Порт должен быть портом PostgreSQL на целевом узле (обычно
5432). - Создание туннеля SSH добавляет задержку подключения. Попробуйте увеличить значение Connect timeout в дополнительных параметрах, если возникают тайм-ауты.
Выбор подходящего дополнительного параметра
| Сценарий | Рекомендуемая функция |
|---|---|
У вас есть существующий URI PostgreSQL, фрагмент кода приложения или команда psql |
Выберите вкладку "Строка подключения" , чтобы автоматически заполнить поля. |
| Для вашей организации требуются собственные файлы центра сертификации или взаимная аутентификация TLS | Настройте поля сертификата SSL в разделе SSL дополнительной панели. |
| Необходимо использовать хранилище сертификатов ОС для проверки сервера | Установите для режима корневого сертификата SSL значение System, а для режима SSL — Verify-Full. |
| База данных доступна только через промежуточный сервер или бастионный хост | Включите SSH-туннель в разделе SSH Tunnel расширенной панели. |