Zrozum i użyj ciągu połączenia Postgres

Zrozum i użyj ciągu połączenia Postgres
PostgreSQL to potężny, open source, obiektowy system bazy danych. Wykorzystuje język SQL z dodatkowymi funkcjami dla lepszego obciążenia bezpieczeństwa i skalowania. PostgreSQL jest dobrze znany ze swojej niezawodności, integralności danych, rozszerzalności i solidnego zestawu funkcji. Dowiedz się więcej o PostgreSQL.

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:

  • Działające środowisko Linux. Na przykład sprawdź ten przewodnik po instalacji Ubuntu w VirtualBox.
  • Zainstalowany i skonfigurowany najnowsza wersja PostgreSQL. Sprawdź instalację PostgreSQL na Ubuntu.

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ć:

  • (przestrzeń): %20
  • %: %25
  • &: %26
  • /: %2f
  • :: %3a
  • =: %3D
  • ?: %3f
  • @: %40
  • [: %5b
  • ]: %5D

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 = 60

Ciąg połączenia

$ postgresql: //:@:/[?]
$ postgres: //:@:/[?]

Gdzie:

  • Identyfikator schematu określa protokół do użycia. Zaakceptowane wartości to Postgres I PostgreSQL.
  • Specyfikacje użytkownika odnoszą się do poświadczeń użytkownika, które są wymagane do połączenia się z PostgreSQL.
    • Nazwa użytkownika: nazwa użytkownika użytkownika.
    • Hasło: hasło użytkownika.
  • Specyfikacje hosta to sekcja ciągu połączenia, który opisuje nazwę hosta i port, aby połączyć się z:
    • gospodarz: Nazwa hosta, adres IP, nazwa DNS lub lokalnie rozwiązana nazwa serwera, z którą można się połączyć.
    • Port: Port, którego słucha serwer PostgreSQL.
  • db_name opisuje nazwę bazy danych, z którą można się połączyć.
  • dodatkowe_parametry jest sekcją zawierającą dodatkowe parametry, które mogą wpływać na zachowanie połączenia. Lista zaczyna się od „?" ocena.
    • Pary parametrów: Lista parametrów składa się z par kluczowych. Wartość każdego klucza jest oddzielona znakiem równości (=). Każda para kluczowej wartości jest oddzielona przez Ampersands (i).

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 = MyApp

Róż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: //
$ postgres: //

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: // localhost

Jeśli potrzebna jest nazwa użytkownika i hasło, zaktualizowany URI wygląda tak:

$ postgres: //: @localhost

Jeś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: 4444

W 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: 3333

W 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_db

Dodatkowe 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 = 30

Kolejny 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 = wymagaj

Sprawdź 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 = 5432

Istnieją 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_db

Wniosek

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.