Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rozszerzenie PostgreSQL dla Visual Studio Code udostępnia okno dialogowe połączenia, które obsługuje wiele metod uwierzytelniania, szyfrowania SSL/TLS i narzędzi organizacyjnych, takich jak grupy serwerów i zapisane połączenia. W tym artykule opisano podstawowe zadania połączenia: otwieranie okna dialogowego, wybieranie metody uwierzytelniania, zapisywanie i ponowne użycie połączeń oraz organizowanie serwerów.
Wskazówka
W przypadku tuneli SSH, analizowania parametry połączenia lub konfiguracji pliku certyfikatu, zobacz Zaawansowane opcje połączenia.
Otwórz okno dialogowe połączenia
Okno dialogowe połączenia można otworzyć na kilka sposobów:
- Połączenia: zatrzymaj wskaźnik myszy na nagłówku sekcji Połączenia i wybierz pozycję Dodaj nowe połączenie (ikona + ).
- Paleta poleceń: Uruchom narzędzie PGSQL: Dodaj nowe połączenie.
- Zapisane lub ostatnie połączenie: wybierz kartę połączenia z listy Zapisane połączenia lub Ostatnie połączenia na panelu bocznym, aby załadować ustawienia do okna dialogowego.
Po otwarciu nowego okna dialogowego w nagłówku widnieje Nowe połączenie, a tytuł brzmi Połącz z serwerem PostgreSQL. Podczas edytowania istniejącego połączenia nagłówek zmieni się na Edytuj połączenie.
Wybieranie trybu wprowadzania
Karta Połącz za pośrednictwem: w górnej części okna dialogowego umożliwia wybranie sposobu podawania szczegółów połączenia:
| Tab | Opis |
|---|---|
| Parametry | Wypełnij poszczególne pola, takie jak Nazwa serwera, Typ uwierzytelniania, Nazwa użytkownika, Hasło, Nazwa bazy danych i Nazwa połączenia. Jest to tryb domyślny. |
| Łańcuch połączenia | Wklej parametry połączenia w dowolnym z obsługiwanych formatów. Rozszerzenie analizuje ciąg i wyświetla wyodrębnione nazwy serwera, nazwę użytkownika i nazwę bazy danych w panelu Szczegóły połączenia tylko do odczytu. |
| Przeglądaj Azure | Przejrzyj subskrypcje Azure, grupy zasobów i serwery, aby bezpośrednio wybrać serwer elastyczny Azure Database for PostgreSQL lub klaster Azure HorizonDB (wersja zapoznawcza). Wymaga konta Azure zalogowanego do Visual Studio Code. |
Wszystkie trzy tryby współużytkują te same przyciski Zapisz i Połącz i Testuj połączenie w dolnej części okna dialogowego. Przycisk Zaawansowane otwiera panel Zaawansowane ustawienia połączenia w dowolnym trybie.
Wypełnij parametry połączenia
Gdy używasz karty Parametry , w oknie dialogowym są wyświetlane następujące pola główne:
| Pole | Opis |
|---|---|
| Nazwa serwera | Nazwa hosta lub adres IP serwera PostgreSQL. |
| Typ uwierzytelnienia | Metoda używana do uwierzytelniania. Zobacz Typy uwierzytelniania. |
| Nazwa użytkownika | Użytkownik lub rola bazy danych PostgreSQL. Widoczne, gdy typ uwierzytelniania to Hasło lub AWS IAM (RDS/Aurora). |
| Hasło | Hasło do konta użytkownika. Widoczne, gdy typ uwierzytelniania to Hasło. |
| zapisz hasło | Zaznacz to pole, aby bezpiecznie przechowywać hasło. Zobacz Przechowywanie haseł. |
| Nazwa bazy danych | Nazwa bazy danych do nawiązania połączenia. Pozostaw pole puste, aby nawiązać połączenie z domyślną bazą danych. |
| Nazwa połączenia | Opcjonalna przyjazna nazwa dla tego połączenia. Rozszerzenie wyświetla tę nazwę w drzewie Połączenia i na liście Zapisane połączenia . |
Dodatkowe pola są wyświetlane w zależności od typu uwierzytelniania. W przypadku Entra Auth okno dialogowe wyświetla Entra Account, Entra Username i Tenant. W przypadku usługi AWS IAM (RDS/Aurora) zostanie wyświetlone okno dialogowe AwS Profile i AWS Region.
Note
Pole Port znajduje się w szufladzie Zaawansowane ustawienia połączenia w obszarze opcji najwyższego poziomu. Domyślnym portem jest 5432.
Typy uwierzytelniania
Lista rozwijana Typ uwierzytelniania zawiera cztery opcje.
Hasło
Uwierzytelnianie hasłem jest standardową metodą PostgreSQL. Należy podać nazwę użytkownika i hasło, które serwer weryfikuje pod kątem konfiguracji uwierzytelniania (zazwyczaj pg_hba.conf).
- Ustaw Typ uwierzytelniania na Hasło.
- Wprowadź nazwę użytkownika i hasło.
- Opcjonalnie wybierz pozycję Zapisz hasło , aby bezpiecznie przechowywać hasło.
- Wybierz pozycję Zapisz i połącz.
Przechowywanie haseł
Po wybraniu pozycji Zapisz hasło rozszerzenie przechowuje hasło za pośrednictwem interfejsu API Visual Studio CodeSecretStorage, który deleguje do menedżera poświadczeń systemu operacyjnego:
- macOS: łańcucha kluczy
- Windows: Menedżer poświadczeń
-
Linux:
libsecret(GNOME Keyring lub KWallet)
Zapisane hasła są skojarzone z określonym połączeniem i nigdy nie są przechowywane w plikach ustawień zwykłego tekstu.
Uwierzytelnianie usługi Microsoft Entra
Uwierzytelnianie Microsoft Entra (wcześniej Azure Active Directory) zapewnia oparte na tokenach uwierzytelnianie bez użycia hasła dla serwera elastycznego Azure Database for PostgreSQL. W oknie dialogowym ta opcja jest oznaczona jako Entra Auth.
Note
Uwierzytelnianie Entra wymaga wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL z włączonym uwierzytelnianiem Entra. Aby uzyskać szczegółowe informacje o konfiguracji, zobacz uwierzytelnianie Microsoft Entra za pomocą Azure Database for PostgreSQL.
Aby nawiązać połączenie z uwierzytelnianiem Entra:
- Dodaj konto Entra. Otwórz paletę poleceń i uruchom narzędzie PGSQL: Dodaj konto Microsoft Entra. Zaloguj się przy użyciu poświadczeń entra w wyświetlonym oknie przeglądarki.
- Otwórz okno dialogowe połączenia. Ustaw Typ uwierzytelniania na Entra Auth.
- Wybierz swoje konto. Wybierz konto dodane z listy rozwijanej Konto entra .
- Wybierz dzierżawcę. Jeśli Twoje konto jest przypisane do wielu dzierżaw, wybierz odpowiednią dzierżawę z listy rozwijanej Tenant.
- Wprowadź nazwę użytkownika Entra. Wpisz nazwę użytkownika Entra dla roli PostgreSQL przypisanej do Twojej tożsamości.
- Połącz. Wybierz pozycję Zapisz i połącz. Rozszerzenie uzyskuje token dostępu i uwierzytelnia się na serwerze PostgreSQL w Twoim imieniu.
Zapisane profile połączeń Entra nadal używają starszej AzureMFA wartości. Kanoniczna wartość bearer-token:entra-id jest zarezerwowana dla wysyłki sterowanej przez serwer i przyszłej migracji profilu.
Aby usunąć konto Entra, uruchom narzędzie PGSQL: Usuń konto Microsoft Entra z palety poleceń i wybierz konto do usunięcia. Aby wyczyścić buforowane tokeny bez usuwania konta, uruchom narzędzie PGSQL: Wyczyść pamięć podręczną tokenu konta Microsoft Entra.
Model podwójnego konta
Rozszerzenie obsługuje model dwóch kont dla scenariuszy Azure. Możesz użyć jednego konta Entra na potrzeby uwierzytelniania bazy danych i innego konta do przeglądania Azure zasobów (subskrypcji, grup zasobów i serwerów).
- Pole Entra Account w oknie dialogowym połączenia określa, która tożsamość jest używana do uwierzytelniania w bazie danych.
- Karta Przeglądaj Azure używa konta Azure zalogowanego do Visual Studio Code (za pośrednictwem rozszerzenia Azure Resources) na potrzeby wyliczenia subskrypcji i zasobów.
Wskazówka
Ta separacja jest przydatna, gdy konto administratora bazy danych różni się od konta, które zarządza Azure subskrypcjami. Skonfiguruj poszczególne niezależnie, aby używały odpowiednich uprawnień dla każdego zadania.
AWS IAM (RDS/Aurora)
Uwierzytelnianie AWS IAM wykorzystuje token uwierzytelniania do bazy danych podpisany przez AWS zamiast zapisanego hasła. Użyj tej opcji tylko dla punktów końcowych bazy danych Amazon RDS for PostgreSQL lub Amazon Aurora PostgreSQL, które mają włączone uwierzytelnianie bazy danych IAM. Wprowadzony ręcznie region platformy AWS może uzupełniać wnioskowanie regionów, ale nie powoduje obsługi niestandardowych hostów PostgreSQL, hostów innych niż RDS ani aliasów CNAME. W oknie dialogowym tę opcję oznaczono jako AWS IAM (RDS/Aurora).
Note
Rola bazy danych PostgreSQL musi istnieć na serwerze i musi mieć możliwość korzystania z uwierzytelniania bazy danych IAM. W przypadku usług RDS i Aurora PostgreSQL przyznaj rolę rds_iam. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie bazy danych IAM dla baz danych MariaDB, MySQL i PostgreSQL.
Aby nawiązać połączenie z uwierzytelnianiem IAM platformy AWS:
- Przygotowywanie poświadczeń platformy AWS. Skonfiguruj proces AWS CLI wymagany przez Twoją organizację. Przykłady to
aws configure,aws sso login --profile <profile>lub konfiguracja specyficzna dlacredential_processorganizacji. - Otwórz okno dialogowe połączenia. Ustaw typ uwierzytelniania na AWS IAM (RDS/Aurora).
- Wprowadź punkt końcowy serwera. Użyj punktu końcowego Amazon RDS lub Aurora PostgreSQL w nazwie serwera.
- Wprowadź rolę bazy danych. W polu Nazwa użytkownika wprowadź użytkownika lub rolę bazy danych PostgreSQL. To nie jest profil AWS, użytkownik IAM, rola IAM ani ARN.
- Wybierz źródło poświadczeń platformy AWS. Wybierz lub wprowadź profil platformy AWS. Pozostaw profil platformy AWS pusty, aby użyć domyślnego łańcucha poświadczeń platformy AWS.
- W razie potrzeby ustaw region platformy AWS. Rozszerzenie określa region na podstawie standardowych nazw hostów RDS i usługi Aurora, jeśli to możliwe. Jeśli nazwa hosta nie zawiera regionu, wprowadź go w regionie platformy AWS.
- Połącz. Wybierz pozycję Zapisz i połącz. Rozszerzenie podpisuje krótkotrwały token uwierzytelniania i używa go jako hasła postgreSQL dla nowego połączenia.
Łańcuch poświadczeń AWS obsługuje zmienne środowiskowe, współdzielone pliki konfiguracji i poświadczeń AWS, profile AWS SSO oraz profile credential_process. Nie używa poświadczeń metadanych instancji/kontenera EC2 lub ECS ani łańcuchów profili credential_source opartych na metadanych.
Tokeny uwierzytelniania bazy danych IAM platformy AWS są ważne przez 15 minut. Rozszerzenie uzyskuje nowe tokeny zgodnie z potrzebami, podczas gdy bazowe poświadczenia platformy AWS pozostają prawidłowe. Nie są wymagane żadne kroki ręcznego odświeżania tokenu.
Żadne
Brak całkowicie pomija uwierzytelnianie. Rozszerzenie łączy się bez wysyłania poświadczeń. Ta opcja dotyczy serwerów PostgreSQL skonfigurowanych z uwierzytelnianiem trust lub podobnymi konfiguracjami bez poświadczeń.
Łączenie, testowanie i rozłączanie
Po wprowadzeniu szczegółów połączenia użyj akcji w oknie dialogowym połączenia i drzewie Połączenia , aby zapisać profil, połączyć, edytować lub usunąć serwery.
Zapisz i połącz
Po wprowadzeniu szczegółów połączenia wybierz pozycję Zapisz i połącz , aby nawiązać połączenie. Ten przycisk wykonuje dwie akcje:
- Zapisuje połączenie jako profil w ustawieniach programu VS Code.
- Nawiązuje połączenie z serwerem.
Jeśli połączenie powiedzie się, serwer pojawi się w drzewie Połączenia . Połączenie jest również wyświetlane na liście Zapisane połączenia i Ostatnie połączenia w oknie dialogowym połączenia.
Testuj połączenie
Wybierz pozycję Testuj połączenie , aby zweryfikować parametry połączenia bez zapisywania profilu lub dodawania serwera do drzewa Połączenia . Przycisk pokazuje pokrętło podczas uruchamiania testu, a następnie wyświetla znacznik wyboru powodzenia lub ikonę ostrzeżenia w przypadku niepowodzenia.
Rozłącz
Aby odłączyć się od serwera:
- Połączenia: kliknij prawym przyciskiem myszy węzeł serwera i wybierz polecenie Rozłącz.
- Paleta poleceń: Uruchom narzędzie PGSQL: Rozłącz.
Edytowanie istniejącego połączenia
Aby edytować zapisane połączenie, kliknij prawym przyciskiem myszy serwer w drzewie Połączenia i wybierz polecenie Edytuj połączenie. Okno dialogowe połączenia zostanie otwarte w trybie edycji z nagłówkiem Edytuj połączenie i bieżącą nazwą profilu jako tytuł. Wprowadź zmiany i wybierz pozycję Zapisz i połącz , aby ponownie nawiązać połączenie ze zaktualizowanymi ustawieniami.
Zaawansowane ustawienia połączenia
Wybierz przycisk Zaawansowane poniżej głównych pól, aby otworzyć szufladę Zaawansowane ustawienia połączenia . Szuflada zawiera:
- Opcje główne: Zakres (Użytkownik lub obszar roboczy), Port, Nazwa aplikacji, Limit czasu połączenia i Multi Subnet Failover.
- Sekcje grupowane: zwijane sekcje akordeonowe dla Źródła, Zabezpieczeń, Serwera, Klienta, SSL, Copilot i Tunelu SSH.
Opcja Zakres określa miejsce zapisania profilu połączenia:
| Scope | Gdzie jest przechowywany profil |
|---|---|
| User | Ustawienia użytkownika programu VS Code (globalne, dostępne w dowolnym obszarze roboczym) |
| Workspace | Ustawienia obszaru roboczego programu VS Code (udostępnione współpracownikom za pośrednictwem programu .vscode/settings.json) |
Aby uzyskać szczegółowe informacje o konfiguracji tunelu SSL i SSH, zobacz Zaawansowane opcje połączenia.
Tryb dostępu do rozwiązania Copilot dla każdego połączenia
Sekcja Copilot w zaawansowanej szufladzie zawiera listę rozwijaną trybu dostępu Copilot z trzema opcjami:
| Option | Efekt |
|---|---|
| Użyj ustawienia globalnego | Dziedziczy globalną wartość pgsql.copilot.accessMode. |
| tylko do odczytu | Ogranicza Copilot wyłącznie do operacji w trybie tylko do odczytu dla tego połączenia. |
| Odczyt/zapis | Umożliwia Copilot wykonywanie operacji odczytu i zapisu na tym połączeniu. |
SSL i TLS
Protokół SSL/TLS szyfruje połączenie między Visual Studio Code a serwerem PostgreSQL. Skonfiguruj tryb SSL w sekcji SSL szuflady Ustawienia połączeń zaawansowanych lub w parametry połączenia.
Tryby SSL
| Tryb | Opis |
|---|---|
| Wyłącz | Brak szyfrowania SSL. Połączenie jest niezaszyfrowane. |
| Zezwalaj | Najpierw podejmuje próbę niezaszyfrowanego połączenia; wraca do protokołu SSL, jeśli serwer go wymaga. |
| Preferuj | Najpierw próbuje nawiązać połączenie SSL; wraca do nieszyfrowanego połączenia, jeśli negocjowanie protokołu SSL zakończy się niepowodzeniem. Jest to ustawienie domyślne dla wielu klientów PostgreSQL. |
| Wymagać | Wymaga szyfrowania SSL, ale nie weryfikuje certyfikatu serwera. Chroni przed pasywnym podsłuchiwaniem. |
| Zweryfikuj CA | Wymaga protokołu SSL i sprawdza, czy certyfikat serwera jest podpisany przez zaufany urząd certyfikacji. |
| Pełna weryfikacja | Wymaga protokołu SSL, weryfikuje urząd certyfikacji i sprawdza, czy nazwa hosta serwera jest zgodna z nazwą pospolitą certyfikatu lub alternatywną nazwą podmiotu. Zapewnia najsilniejszą ochronę. |
Note
Azure Database for PostgreSQL domyślnie wymaga protokołu SSL. W przypadku większości scenariuszy użyj opcji Wymagaj lub polecenia Verify-Full z certyfikatem DigiCert Global Root G2, aby uzyskać maksymalne bezpieczeństwo.
Wskazówka
Aby uzyskać informacje o konfiguracji pliku certyfikatu i wzajemnych scenariuszach protokołu TLS, zobacz Zaawansowane opcje połączenia.
Zarządzanie zapisanymi i ostatnimi połączeniami
Okno dialogowe połączenia zawiera panel boczny z dwiema listami:
- Zapisane połączenia: wcześniej zapisane połączenia za pomocą polecenia Zapisz i połącz. Każda karta zawiera nazwę wyświetlaną serwera. Umieść kursor na karcie, aby wyświetlić przycisk usuwania. Wybierz kartę, aby załadować jej ustawienia do okna dialogowego.
- Ostatnie połączenia: ostatnio używane połączenia, niezależnie od tego, czy zostały zapisane za pomocą nazwy połączenia. Zatrzymaj wskaźnik myszy, aby wyświetlić przycisk usuwania.
Liczba elementów na liście Ostatnie połączenia jest ograniczona przez ustawienie pgsql.maxRecentConnections. Maksymalna liczba jednoczesnych otwartych połączeń dla każdego profilu i bazy danych jest kontrolowana przez ustawienie pgsql.maxConnections (domyślnie: 10).
Grupy serwerów
Grupy serwerów ułatwiają organizowanie połączeń w drzewie Połączenia . Możesz przypisać każdej grupie własną nazwę i kolor, co ułatwia rozpoznanie środowisk, takich jak deweloperskie, testowe i produkcyjne, na pierwszy rzut oka.
Tworzenie grupy serwerów
- Kliknij prawym przyciskiem myszy w drzewie Połączenia i wybierz polecenie Utwórz grupę serwerów.
- W oknie dialogowym wprowadź nazwę, opcjonalny opis i wybierz kolor dla grupy.
Edytowanie lub usuwanie grupy serwerów
- Edytuj: kliknij prawym przyciskiem myszy grupę serwerów w drzewie Połączenia i wybierz polecenie Edytuj grupę serwerów , aby zmienić jego nazwę, opis lub kolor.
- Usuń: kliknij prawym przyciskiem myszy grupę serwerów i wybierz polecenie Usuń. Połączenia w grupie nie są usuwane; przechodzą do grupy domyślnej.
Przypisywanie połączenia do grupy
Podczas tworzenia lub edytowania połączenia okno dialogowe połączenia zawiera listę rozwijaną Grupa serwerów w obszarze głównych pól. Wybierz grupę z listy, aby przypisać połączenie do tej grupy.
Kolory grup są wyświetlane jako kolorowy pasek obok nazwy grupy w drzewie Połączenia , zapewniając szybką identyfikację wizualną.
metadane Azure
Po nawiązaniu połączenia z serwerem elastycznym Azure Database for PostgreSQL okno dialogowe połączenia może wyświetlić panel metadanych Azure obok formularza. W tym panelu są wyświetlane subskrypcja i grupa zasobów serwera po wybraniu opcji Pobierz metadane platformy Azure. Uwzględnienie Azure metadanych umożliwia funkcje zarządzania, takie jak pulpit nawigacyjny serwera i metryki Azure Monitor.
Rozwiązywanie typowych problemów z połączeniem
Gdy próba połączenia zakończy się niepowodzeniem, przyczyną jest zazwyczaj ustawienie sieci, uwierzytelniania lub protokołu SSL. W poniższych sekcjach opisano najczęstsze przypadki.
Odmowa połączenia lub przekroczenie limitu czasu
Jeśli połączenie zakończy się niepowodzeniem przed rozpoczęciem uwierzytelniania, najpierw sprawdź nazwę serwera i port . Upewnij się, że serwer PostgreSQL jest uruchomiony, port jest osiągalny z twojej maszyny, a wszystkie reguły zapory sieciowej zezwalają na połączenie. Limit czasu połączenia można dostosować w szufladzie Ustawienia połączeń zaawansowanych , aby zapewnić więcej czasu dla wolnych sieci.
Błędy weryfikacji protokołu SSL lub certyfikatu
Jeśli serwer wymaga szyfrowania, upewnij się, że wybrany w sekcji SSL panelu zaawansowanego tryb SSL jest zgodny z konfiguracją serwera. W przypadku Verify-CA i Verify-Full upewnij się, że skonfigurowano prawidłowy certyfikat urzędu certyfikacji. Aby uzyskać szczegółowe informacje o pliku certyfikatu, zobacz Zaawansowane opcje połączenia.
Microsoft Entra problemy z logowaniem lub tokenem
Jeśli uwierzytelnianie Entra zakończy się niepowodzeniem, upewnij się, że na docelowym serwerze elastycznym Azure Database for PostgreSQL jest włączone uwierzytelnianie Entra, a następnie sprawdź, czy w oknie dialogowym połączenia wybrano prawidłowe konto i dzierżawę. W razie potrzeby uruchom narzędzie PGSQL: Usuń konto Microsoft Entra i ponownie dodaj konto. Aby zresetować buforowane tokeny, uruchom narzędzie PGSQL: Wyczyść pamięć podręczną tokenu konta Microsoft Entra.
Problemy z profilem lub tokenem usługi AWS IAM
Jeśli uwierzytelnianie IAM platformy AWS zakończy się niepowodzeniem, sprawdź, czy nazwa serwera jest punktem końcowym usługi Amazon RDS lub Aurora PostgreSQL, a nie niestandardową nazwą hosta lub aliasem CNAME. Upewnij się, że nazwa użytkownika jest rolą bazy danych PostgreSQL i że rola ma włączone uwierzytelnianie bazy danych IAM na serwerze. Sprawdź, czy wybrany profil platformy AWS może uzyskać obsługiwane poświadczenia platformy AWS; na przykład uruchom polecenie aws sts get-caller-identity --profile <profile> dla nazwanego profilu lub pomiń --profile podczas korzystania z domyślnego łańcucha poświadczeń. Jeśli wnioskowanie regionu nie powiedzie się w przypadku obsługiwanego punktu końcowego, wprowadź region platformy AWS ręcznie.
Analizowanie parametrów połączenia nie powoduje wypełnienia odpowiednich pól
Jeśli wklejone parametry połączenia nie spowodują uzupełnienia oczekiwanych wartości, zapoznaj się z obsługiwanymi formatami danych wejściowych w Zaawansowanych opcjach połączenia. Jeśli format źródła jest nietypowy, przejdź na kartę Parametry i wprowadź wartości ręcznie.