Подключения и идентификация

Расширение PostgreSQL для Visual Studio Code предоставляет диалоговое окно подключения, которое поддерживает несколько методов проверки подлинности, шифрование SSL/TLS и средства организации, такие как группы серверов и сохраненные подключения. В этой статье рассматриваются основные задачи подключения: открытие диалогового окна, выбор метода проверки подлинности, сохранение и повторное использование подключений и упорядочение серверов.

Tip

Сведения о туннелях SSH, разборе строки подключения и настройке файла сертификата см. в разделе «Дополнительные параметры подключения».

Открытие диалогового окна подключения

Диалоговое окно подключения можно открыть несколькими способами:

  • Подключения: наведите указатель мыши на заголовок раздела "Подключения" и выберите "Добавить новое подключение" (+значок).
  • Палитра команд: запуск PGSQL: добавление нового подключения.
  • Сохранено или последнее подключение: выберите карточку подключения из списка сохраненных подключений или последних подключений на боковой панели, чтобы загрузить его параметры в диалоговое окно.

Когда вы открываете новое диалоговое окно, в верхней части окна указано Новое подключение, а заголовок гласит: Подключение к серверу PostgreSQL. При изменении существующего подключения заголовок изменяется на "Изменить подключение".

Выбор режима ввода

Подключение через: вкладки в верхней части диалогового окна позволяют выбрать способ предоставления сведений о подключении:

Вкладка Описание
Параметры Заполните отдельные поля, такие как имя сервера, тип проверки подлинности, имя пользователя, пароль, имя базы данных и имя подключения. Это режим по умолчанию.
Строка подключения Вставьте строку подключения в любом поддерживаемом формате. Расширение анализирует строку и отображает извлеченное имя сервера, имя пользователя и имя базы данных на панели сведений о подключении только для чтения.
Просмотреть Azure Просмотрите свои подписки Azure, группы ресурсов и серверы, чтобы напрямую выбрать гибкий сервер База данных Azure для PostgreSQL или кластер Azure HorizonDB (предварительная версия). Требуется учетная запись Azure, с которой выполнен вход в Visual Studio Code.

Все три режима используют одинаковые кнопки сохранения и подключения ипроверки подключения в нижней части диалогового окна. Кнопка «Дополнительно» открывает панель «Расширенные параметры подключения» в любом режиме.

Заполнение параметров подключения

При использовании вкладки "Параметры " диалоговое окно представляет следующие основные поля:

Поле Описание
Имя сервера Имя узла или IP-адрес сервера PostgreSQL.
Тип проверки подлинности Метод, используемый для проверки подлинности. См . раздел Типы проверки подлинности.
Имя пользователя Пользователь или роль базы данных PostgreSQL. Отображается, если тип проверки подлинностипароль или AWS IAM (RDS/Aurora).
Пароль Пароль для учетной записи пользователя. Отображается, когда тип проверки подлинности является паролем.
Сохранить пароль Установите этот флажок, чтобы безопасно хранить пароль. См. раздел хранилища паролей.
Имя базы данных Имя базы данных для подключения. Оставьте пустым для подключения к базе данных по умолчанию.
Имя подключения Необязательное понятное пользователю имя для этого подключения. Расширение отображает это имя в дереве подключений и списке сохраненных подключений .

Дополнительные поля отображаются в зависимости от типа проверки подлинности. В диалоговом окне "Entra Auth" отображаются учетная запись Entra, имя пользователя Entra и арендатор. Для AWS IAM (RDS/Aurora) в диалоговом окне отображается профиль AWS и регион AWS.

Note

Поле "Порт" находится в ящике расширенных параметров подключения под параметрами верхнего уровня. По умолчанию используется порт 5432.

Типы аутентификации

В раскрывающемся списке типа проверки подлинности есть четыре варианта.

Пароль

Проверка подлинности паролей — это стандартный метод PostgreSQL. Вы предоставляете имя пользователя и пароль, которые сервер проверяет в своей конфигурации проверки подлинности (обычно pg_hba.conf).

  1. Установите для типа проверки подлинности значение Пароль.
  2. Введите имя пользователя и пароль.
  3. При необходимости нажмите кнопку "Сохранить пароль", чтобы безопасно хранить пароль.
  4. Нажмите кнопку "Сохранить" и "Подключить".

Хранилище паролей

При выборе Сохранить пароль расширение сохраняет пароль с помощью API Visual Studio Code SecretStorage, который передаёт его диспетчеру учётных данных операционной системы:

  • macOS: цепочка ключей
  • Windows: Диспетчер учетных данных
  • Linux: libsecret (ИСПОЛЬЗОВАНИЕ ключей GNOME или KWallet)

Сохраненные пароли связаны с определенным подключением и никогда не хранятся в файлах параметров открытого текста.

аутентификация Microsoft Entra

Аутентификация Microsoft Entra (ранее Azure Active Directory) обеспечивает аутентификацию на основе токенов без использования пароля для База данных Azure для PostgreSQL — Flexible Server. В диалоговом окне этот параметр обозначен как Entra Auth.

Note

Для аутентификации Entra требуется экземпляр гибкого сервера База данных Azure для PostgreSQL с включённой аутентификацией Entra. Сведения о настройке см. в статье Аутентификация Microsoft Entra в Azure Database для PostgreSQL.

Чтобы подключиться к проверке подлинности Entra, выполните следующие действия.

  1. Добавьте учетную запись Entra. Откройте палитру команд и запустите PGSQL: добавьте Microsoft Entra учетную запись. Войдите с помощью учетных данных Entra в открывшемся окне браузера.
  2. Откройте диалоговое окно подключения. Задайте для типа аутентификации значение Entra Auth.
  3. Выберите свою учетную запись. Выберите учетную запись, которую вы добавили, из раскрывающегося списка Entra Account.
  4. Выберите арендатора. Если учетная запись принадлежит нескольким клиентам, выберите соответствующий клиент из раскрывающегося списка клиента .
  5. Введите имя пользователя Entra. Введите имя пользователя Entra для роли PostgreSQL, сопоставленной с вашей учетной записью.
  6. Подключитесь. Нажмите кнопку "Сохранить" и "Подключить". Расширение получает маркер доступа и проходит проверку подлинности на сервере PostgreSQL от вашего имени.

Сохраненные профили подключений Entra продолжают использовать устаревшее AzureMFA значение. Каноническое значение bearer-token:entra-id зарезервировано для диспетчеризации, управляемой сервером, и будущей миграции профилей.

Чтобы удалить учетную запись Microsoft Entra, выполните команду PGSQL: Remove Microsoft Entra Account в палитре команд и выберите учетную запись, которую нужно удалить. Чтобы очистить кэшированные токены, не удаляя учетную запись, запустите PGSQL: очистить кэш токенов учетной записи Microsoft Entra.

Модель двойной учетной записи

Расширение поддерживает модель двойной учетной записи для сценариев Azure. Для аутентификации базы данных можно использовать одну учетную запись Entra, а другую — для просмотра ресурсов Azure (подписок, групп ресурсов и серверов).

  • Поле учетная запись Entra в диалоговом окне подключения задает, какая учетная запись используется для проверки подлинности при подключении к базе данных.
  • На вкладке Browse Azure используется учетная запись Azure, в которую выполнен вход в Visual Studio Code (через расширение Azure Resources), для получения списка подписок и ресурсов.

Tip

Это разделение полезно, если учетная запись администратора базы данных отличается от учетной записи, которая управляет подписками Azure. Настройте каждый независимо для использования правильных разрешений для каждой задачи.

AWS IAM (RDS/Аврора)

Проверка подлинности AWS IAM использует маркер проверки подлинности базы данных, подписанный AWS, а не сохраненный пароль. Используйте этот параметр только для конечных точек базы данных Amazon RDS для PostgreSQL или Amazon Aurora PostgreSQL с включенной проверкой подлинности базы данных IAM. Указанный вручную регион AWS может дополнить определение региона, но не делает пользовательские хосты PostgreSQL, хосты, не относящиеся к RDS, или псевдонимы CNAME поддерживаемыми. В диалоговом окне помечается этот параметр AWS IAM (RDS/Aurora).

Note

Роль базы данных PostgreSQL должна существовать на сервере, и для неё должно быть разрешено использование аутентификации IAM для базы данных. Для RDS и Аврора PostgreSQL предоставьте роль rds_iam. Дополнительные сведения см. в разделе проверки подлинности базы данных IAM для MariaDB, MySQL и PostgreSQL.

Чтобы подключиться к проверке подлинности AWS IAM, выполните приведенные действия.

  1. Подготовка учетных данных AWS. Настройте рабочий процесс AWS CLI, требуемый вашей организацией. Примеры включают aws configure, aws sso login --profile <profile> или специфическую для организации конфигурацию credential_process.
  2. Откройте диалоговое окно подключения. Задайте тип проверки подлинностиAWS IAM (RDS/Aurora).
  3. Введите конечную точку сервера. Используйте конечную точку Amazon RDS или Aurora PostgreSQL в имени сервера.
  4. Введите роль базы данных. В поле "Имя пользователя" введите пользователя или роль базы данных PostgreSQL. Это не профиль AWS, пользователь IAM, роль IAM или ARN.
  5. Выберите источник учетных данных AWS. Выберите или введите профиль AWS. Оставьте профиль AWS пустым, чтобы использовать цепочку учетных данных AWS по умолчанию.
  6. При необходимости задайте регион AWS. Расширение выводит регион из стандартных имен узлов RDS и Аврора, когда это возможно. Если имя узла не включает регион, введите его в регион AWS.
  7. Подключитесь. Нажмите кнопку "Сохранить" и "Подключить". Расширение подписывает краткосрочный маркер проверки подлинности и использует его в качестве пароля PostgreSQL для нового подключения.

Цепочка учетных данных AWS поддерживает переменные среды, общие файлы конфигурации и учетных данных AWS, профили AWS SSO и профили credential_process. Он не использует учетные данные из метаданных экземпляра EC2 или контейнера ECS и не использует цепочки профилей, использующие метаданные credential_source.

Токены аутентификации AWS IAM для базы данных действительны в течение 15 минут. Расширение получает новые маркеры по мере необходимости, пока базовые учетные данные AWS остаются действительными. Никаких действий для обновления токена вручную не требуется.

Нет

Ни один из них не пропускает проверку подлинности полностью. Расширение подключается без отправки учетных данных. Этот параметр применяется к серверам PostgreSQL, настроенным с trust проверкой подлинности или аналогичными конфигурациями без учетных данных.

Подключение, тестирование и отключение

После заполнения сведений о подключении используйте действия в диалоговом окне подключения и дереве подключений , чтобы сохранить профиль, подключить, изменить или удалить серверы.

Сохранение и подключение

После заполнения сведений о подключении нажмите кнопку "Сохранить и подключиться ", чтобы установить подключение. Эта кнопка выполняет два действия:

  1. Сохраняет подключение в качестве профиля в параметрах VS Code.
  2. Подключается к серверу.

Если подключение выполнено успешно, сервер появится в дереве подключений . Подключение также отображается в списках сохраненных подключений и последних подключений в диалоговом окне подключения.

Проверить подключение

Выберите "Проверить подключение" , чтобы проверить параметры подключения, не сохраняя профиль или добавляя сервер в дерево подключений . На кнопке показан спиннер во время выполнения теста, а затем отображается флажок об успешном выполнении или значок предупреждения при сбое.

Отключить

Чтобы отключиться от сервера, выполните приведенные действия.

  • Подключения: щелкните правой кнопкой мыши узел сервера и выберите "Отключить".
  • Палитра команд: запуск PGSQL: отключение.

Изменение существующего подключения

Чтобы изменить сохраненное подключение, щелкните правой кнопкой мыши сервер в дереве подключений и выберите пункт "Изменить подключение". Диалоговое окно подключения открывается в режиме редактирования с заголовком "Изменить подключение " и текущим именем профиля в качестве заголовка. Внесите изменения и нажмите кнопку "Сохранить и подключиться ", чтобы повторно подключиться к обновленным параметрам.

Дополнительные параметры подключения

Нажмите кнопку "Дополнительно" под основными полями, чтобы открыть ящик расширенных параметров подключения . В ящике содержится следующее:

  • Параметры верхнего уровня: Область (Пользователь или Рабочая область), Порт, Имя приложения, Время ожидания подключения, и Отработка отказа в нескольких подсетях.
  • Сгруппированные разделы: сворачиваемые секции-аккордеоны для Источника, Безопасности, Сервера, Клиента, SSL, Copilot и SSH-туннеля.

Параметр "Область" определяет, где сохраняется профиль подключения:

Объем Где хранится профиль
User Параметры пользователя VS Code (глобальные, доступные в любой рабочей области)
Workspace Параметры рабочей области VS Code (доступны соавторам через .vscode/settings.json)

Сведения о конфигурации SSL и туннеля SSH см. в разделе "Дополнительные параметры подключения".

Режим доступа Copilot для каждого подключения

Раздел Copilot в расширенной панели содержит раскрывающийся список режим доступа Copilot с тремя вариантами:

Опция Эффект
Использование глобального параметра Наследует глобальное значение pgsql.copilot.accessMode.
Только чтение Ограничивает Copilot только для чтения операций с этим подключением.
Чтение и запись Позволяет Copilot выполнять операции чтения и записи в этом соединении.

SSL и TLS

SSL/TLS шифрует подключение между Visual Studio Code и сервером PostgreSQL. Настройте режим SSL в разделе SSL в ящике расширенных параметров подключения или в строка подключения.

Режимы SSL

Режим Описание
Отключено Шифрование SSL отсутствует. Подключение незашифровывается.
Разрешить Сначала пытается незашифрованное подключение; возвращается к ПРОТОКОЛу SSL, если сервер требует его.
Предпочесть Сначала пытается установить SSL-соединение; при сбое согласования SSL переходит на незашифрованное соединение. Это значение по умолчанию для многих клиентов PostgreSQL.
Обязательность Требуется шифрование SSL, но не проверяет сертификат сервера. Защищает от пассивного прослушивания.
Проверка-CA Требуется SSL и проверяет, подписан ли сертификат сервера доверенным центром сертификации (ЦС).
Полная проверка Требует SSL, проверяет центр сертификации и сверяет, что имя узла сервера совпадает с полем Common Name сертификата или Subject Alternative Name. Обеспечивает самую надежную защиту.

Note

База данных Azure для PostgreSQL по умолчанию требует использования SSL. Используйте Require для большинства сценариев или Verify-Full с сертификатом DigiCert Global Root G2 для максимальной безопасности.

Tip

Сведения о конфигурации файла сертификата и сценариях взаимной TLS см. в разделе "Дополнительные параметры подключения".

Управление сохраненными и последними подключениями

Диалоговое окно подключения включает боковую панель с двумя списками:

  • Сохранённые подключения: Подключения, которые вы ранее сохранили с помощью Save & Connect. Каждая карточка отображает отображаемое имя сервера. Наведите указатель мыши на карточку, чтобы открыть кнопку удаления. Выберите карточку для загрузки параметров в диалоговое окно.
  • Последние подключения: подключения, которые вы недавно использовали, независимо от того, сохранены ли они с именем подключения. Наведите указатель мыши, чтобы открыть кнопку удаления.

Список последних подключений ограничен параметром pgsql.maxRecentConnections . Максимальное количество одновременных открытых подключений для каждого профиля и базы данных управляется параметром pgsql.maxConnections (по умолчанию: 10).

Группы серверов

Группы серверов помогают упорядочивать подключения в дереве подключений . Вы можете назначить пользовательское имя и цвет для каждой группы, что упрощает определение таких сред, как разработка, промежуточное развертывание и рабочая среда.

Создание группы серверов

  1. Щелкните правой кнопкой мыши дерево подключений и выберите "Создать группу серверов".
  2. В диалоговом окне введите имя, необязательное описание и выберите цвет для группы.

Изменение или удаление группы серверов

  • Изменить: щелкните правой кнопкой мыши группу серверов в дереве подключений и выберите "Изменить группу серверов", чтобы изменить ее имя, описание или цвет.
  • Удалить: щелкните правой кнопкой мыши группу серверов и выберите "Удалить". Подключения в группе не удаляются; они перемещаются в группу по умолчанию.

Назначить подключение группе

При создании или изменении подключения диалоговое окно подключения включает раскрывающийся список группы серверов в области основных полей. Выберите группу из списка, чтобы назначить подключение к этой группе.

Цвета групп отображаются в виде цветной полосы рядом с именем группы в дереве Подключения, что позволяет быстро визуально различать группы.

метаданные Azure

При подключении к гибкому серверу База данных Azure для PostgreSQL в диалоговом окне подключения рядом с формой может отображаться панель Метаданные Azure. После выбора Получить метаданные Azure на этой панели отображаются подписка сервера и группа ресурсов. Включение Azure метаданных позволяет управлять такими функциями, как панель мониторинга сервера и метрики Azure Monitor.

Устранение распространенных проблем с подключением

Если попытка подключения завершается ошибкой, причина обычно является параметром сети, проверки подлинности или SSL. В следующих разделах рассматриваются наиболее распространенные случаи.

В подключении отказано или тайм-аут подключения

Если подключение завершается ошибкой до начала проверки подлинности, сначала проверьте имя сервера и порт . Убедитесь, что PostgreSQL запущен, порт доступен на компьютере, и все правила брандмауэра сети разрешают подключение. Вы можете настроить время ожидания подключения в ящике расширенных параметров подключения , чтобы разрешить больше времени для медленных сетей.

Ошибки проверки SSL или сертификата

Если сервер требует шифрования, убедитесь, что выбранный в разделе SSL на дополнительной панели режим SSL соответствует конфигурации сервера. Для Verify-CA и Verify-Full убедитесь, что настроен правильный сертификат центра сертификации. Дополнительные сведения о файле сертификата см. в разделе "Дополнительные параметры подключения".

Microsoft Entra: проблемы со входом или токеном

Если проверка подлинности Entra завершается ошибкой, убедитесь, что целевой База данных Azure для PostgreSQL гибкий сервер имеет включенную проверку подлинности Entra, убедитесь, что выбрана правильная учетная запись и клиент в диалоговом окне подключения. При необходимости запустите PGSQL: удалите учетную запись Microsoft Entra и повторно добавьте ее. Чтобы сбросить кэшированные токены, запустите PGSQL: Очистить кэш токенов учетной записи Microsoft Entra.

Проблемы с профилем или токеном AWS IAM

Если проверка подлинности AWS IAM завершается ошибкой, убедитесь, что имя сервера — это конечная точка Amazon RDS или Аврора PostgreSQL, а не пользовательское имя узла или псевдоним CNAME. Убедитесь, что имя пользователя — роль базы данных PostgreSQL и что на сервере включена проверка подлинности базы данных IAM. Убедитесь, что выбранный профиль AWS может получить поддерживаемые учетные данные AWS; например, запустите aws sts get-caller-identity --profile <profile> для именованного профиля или не указывайте --profile, если используете цепочку учетных данных по умолчанию. Если вывод региона завершается сбоем для поддерживаемой конечной точки, введите регион AWS вручную.

Разбор строки подключения не заполняет нужные поля

Если вставленный строка подключения не заполняет ожидаемые значения, просмотрите поддерживаемые шаблоны входных данных в параметрах расширенного подключения. Если исходный формат является необычным, перейдите на вкладку "Параметры " и введите значения вручную.