W tym przewodniku przyjrzymy się adresom URL połączeń w PostgreSQL.
Wymagania wstępne
Aby wykonać kroki wykazane w tym przewodniku, potrzebujesz następujących elementów:
Opcjonalnie możesz skonfigurować front PostgreSQL do pracy z narzędziem GUI zamiast klasycznego PSQL powłoka.
Procentowe wartości
Podczas korzystania z adresów URL połączeń PostgreSQL, oczekuje się, że pojawi się na wartości procentowej. Oznacza to, że jeśli istnieje jakikolwiek charakter o szczególnym znaczeniu w ramach adresu URL, musi zostać przekonwertowany na swoją wartość procentową, aby biblioteki i aplikacje mogły go odpowiednio zinterpretować.
Oto krótka lista, o której musisz pamiętać:
String połączenia PostgreSQL
Podczas projektowania/wdrażania dowolnej aplikacji wspieranej przez bazę danych, jednym z pierwszych kroków jest podłączenie aplikacji z odpowiednim silnikiem bazy danych. Jeśli chodzi o dostarczanie parametrów połączenia, można to zrobić w dwóch formatach:
Proste słowo kluczowe/łańcuchy wartości
$ host = localhost port = 5432 dbname = demo_db connection_timeout = 60Ciąg połączenia
$ postgresql: //:@:/[?]Gdzie:
Oto przykład adresu URL połączenia PostgreSQL, który zawiera wszystkie te komponenty:
$ postgresql: // host1: 123, host2: 456/SODEDB?Target_Session_Attrs = dowolne i aplikacja_name = MyAppRóżne elementy URI połączenia
Specyfikacja typu URL
URL połączenia służy do łączenia się z bazą danych PostgreSQL. Ważne jest, aby użyć właściwej specyfikacji protokołu, aby aplikacje i biblioteki mogły interpretować podane informacje we właściwym kontekście.
PostgreSQL akceptuje następujące oznaczenia schematu URL:
$ postgresql: //Nazwa użytkownika i hasło
Ta sekcja URI zawiera poświadczenia użytkownika. O ile nie korzystasz z domyślnej konfiguracji, ta sekcja musi zostać uwzględniona.
Aby określić tylko nazwę użytkownika, możesz użyć następującej struktury URI:
$ postgres: //@@Jeśli konieczne jest hasło, składnia sekcji wygląda tak:
$ postgres: //:@Specyfikacja hosta
W tej sekcji określa adres sieciowy serwera PostgreSQL.
Jeśli aplikacja ma próbować połączenie z domyślnym portem PostgreSQL (5432) na komputerze lokalnym, URI wygląda tak:
$ postgers: // localhostJeśli potrzebna jest nazwa użytkownika i hasło, zaktualizowany URI wygląda tak:
$ postgres: //: @localhostJeśli serwer PostgreSQL znajduje się na zdalnym hoście i/lub słuchanie niestandardowego portu, struktura URI zmienia się dramatycznie. Na przykład, aby połączyć się z serwerem PostgreSQL, który znajduje się w 192 roku.168.100.223 I Aby wysłuchać portu 4444, URI połączenia wygląda tak:
$ postgres: //:@192.168.100.223: 4444W tej sekcji możemy podać dodatkowe informacje. Na przykład serwery Fallback. Jeśli w 192 r.168.100.100, który słucha do portu 3333, możemy dodać go do następującego URI połączenia:
$ postgres: //:@192.168.100.223: 4444,192.168.100.100: 3333W tym przykładzie aplikacja najpierw próbuje się z nią połączyć 192.168.100.223: 4444. Po awarii próbuje połączyć się z adresem Fallback 192.168.100.100: 3333.
Nazwa bazy danych
Ta sekcja dotyczy bazy danych, z którą aplikacja łączy. W PostgreSQL należy połączyć się z określoną bazą danych podczas ustanawiania połączenia.
Nazwę bazy danych należy zadeklarować zaczynając od cięcia (/) i przebiega do końca linii lub znaku zapytania (?).
Na przykład, aby połączyć się z bazą danych demo_db na serwerze PostgreSQL, który słucha 192.168.100.223: 4444, URI połączenia wygląda tak:
$ postgres: //:@192.168.100.223: 4444/demo_dbDodatkowe parametry
Ostatnia część URI połączenia jest zarezerwowana dla dodatkowych parametrów połączenia. Lista zaczyna się od znaku zapytania (?) i trwa do końca URI.
Jak wspomniano wcześniej, parametry są parami kluczowymi. Wartość klucza jest oddzielona znakiem równości (=), a każda para wartości klucza jest oddzielona przez ampersand (&).
Na przykład czas połączenia minął Parametr deklaruje limit czasu dla połączenia w sekundach. Aby zastosować 30 -sekundowy limit czasu, zastosuj go do parametru URI połączenia w następujący sposób:
$ postgres: //:@192.168.100.223: 4444/demo_db?Connection_timeout = 30Kolejny parametr, który jest SSLMode określa priorytet bezpiecznej negocjacji połączenia TCP/IP. Możemy go dodać do następującego URI połączenia:
$ postgres: //:@192.168.100.223: 4444/demo_db?Connection_timeout = 30 i sslmode = wymagajSprawdź dokumentację PostgreSQL na liście dostępnych parametrów połączenia.
Korzystanie z URI połączenia PostgreSQL
W tej sekcji mamy szybką demonstrację korzystania z URI połączenia PostgreSQL w akcji. Należy zauważyć, że w zależności od języka programowania, modułów, ram i innych czynników, wdrożenie URI połączenia jest zróżnicowane.
Tutaj używamy URI połączenia z PSQL Aby połączyć się z żądaną bazą danych. Ogólnie, aby połączyć się z bazą danych w PSQL, Polecenie jest następujące:
$ psql - -host = - -dbname = --username = --port =Na przykład, aby połączyć się z bazą danych DEMO_DB, która jest hostowana na lokalnym serwerze PostgreSQL, który słucha Port 5432 jako Postgres, polecenie wygląda tak:
$ psql - -host = localhost - -dbname = demo_db --username = postgres --port = 5432Istnieją również inne sposoby łączenia się z bazą danych PostgreSQL. Na przykład za pomocą następującego URI połączenia:
$ psql postgres: //:@:/Za pomocą struktury możemy skonstruować prostsze polecenie do połączenia z bazą danych DEMO_DB:
$ psql postgres: // postgres@localhost/demo_dbWniosek
W tym przewodniku omówiliśmy URI Connection PostgreSQL, jak interpretować jego różne komponenty i jak skonstruować URI połączenia z danym zestawem informacji. URI połączenia to interesujący sposób kodowania wszystkich wymaganych informacji dla połączenia z daną bazą danych w jednym ciągu. Wykazaliśmy również, jak korzystać z URI połączenia do połączenia z bazą danych PostgreSQL.
Zainteresowany dowiedzeniem się więcej o PostgreSQL? Sprawdź kategorię PostgreSQL, która zawiera setki przewodników i samouczków na temat różnych aspektów PostgreSQL.