Forstå og bruk Postgres -tilkoblingsstrengen

Forstå og bruk Postgres -tilkoblingsstrengen
PostgreSQL er et kraftig, open source, objekt-relasjonell databasesystem. Det utnytter SQL -språket med tilleggsfunksjoner for bedre sikkerhet og skalering av arbeidsmengder. PostgreSQL er kjent for sin pålitelighet, dataintegritet, utvidbarhet og robust funksjonssett. Lær mer om PostgreSQL.

I denne guiden vil vi se på tilkoblingsadressene i PostgreSQL.

Forutsetninger

For å utføre trinnene som er demonstrert i denne guiden, trenger du følgende komponenter:

  • Et fungerende Linux -miljø. For eksempel, sjekk ut denne guiden om Ubuntu -installasjon på VirtualBox.
  • Installert og konfigurert siste versjon av PostgreSQL. Sjekk ut PostgreSQL -installasjonen på Ubuntu.

Eventuelt kan du konfigurere en PostgreSQL front-end for å jobbe med et GUI-verktøy i stedet for klassikeren PSQL skall.

Prosent-kodingsverdier

Når du bruker PostgreSQL-tilkoblings-URL-er, forventes det å komme over prosentkodingsverdier. Betydning, hvis det er noen karakter med spesiell betydning i nettadressen, må den konverteres til dens prosentkodingsverdi slik at bibliotekene og appene kan tolke den på riktig måte.

Her er en kort liste som du må huske på:

  • (plass): %20
  • %: %25
  • &: %26
  • /: %2f
  • :: %3A
  • =: %3D
  • ?: %3F
  • @: %40
  • [: %5B
  • ]: %5D

PostgreSQL -tilkoblingsstreng

Når du designer/distribuerer en hvilken som helst database-støttet applikasjon, er et av de første trinnene å koble appen med riktig databasemotor. Når det gjelder å gi tilkoblingsparametrene, kan det gjøres i to formater:

Vanlige nøkkelord/verdi strenger

$ host = localhost port = 5432 dbname = demo_db connection_timeout = 60

Tilkoblingsstreng

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

Hvor:

  • Skjemaidentifikator definerer protokollen som skal brukes. De aksepterte verdiene er Postgres og PostgreSql.
  • Brukerspesifikasjoner refererer til brukeropplysningene som er nødvendige for å koble til PostgreSQL.
    • Brukernavn: brukernavnet til brukeren.
    • Passord: Passordet til brukeren.
  • Vertspesifikasjonene er delen av tilkoblingsstrengen som beskriver vertsnavnet og porten for å koble til:
    • vert: Vertsnavnet, IP -adressen, DNS -navnet eller lokalt løsbart navn på serveren for å koble til.
    • havn: Porten som PostgreSql -serveren lytter til.
  • De db_name beskriver navnet på databasen du vil koble til.
  • De ekstra_parametere er en seksjon som inneholder flere parametere som kan påvirke tilkoblingsatferden. Listen begynner med “?" merke.
    • Parameterpar: Parameterlisten består av nøkkelverdipar. Verdien til hver tast er atskilt med et lik (=) tegn. Hvert nøkkelverdipar er atskilt med ampersand (&).

Her er et eksempel på en postgreSQL -tilkoblings -URL som inneholder alle disse komponentene:

$ PostgreSql: // Host1: 123, Host2: 456/Somedb?Target_Session_attrs = any & application_name = myApp

Ulike tilkoblinger URI -komponenter

URL -type spesifikasjon

Tilkoblings -URL brukes til å koble til en PostgreSQL -database. Det er viktig å bruke den riktige protokollspesifikasjonen slik at appene og bibliotekene kan tolke den oppgitte informasjonen i riktig sammenheng.

PostgreSQL godtar følgende URL -skjema -designatorer:

$ postgreSql: //
$ postgres: //

Brukernavn og passord

Denne delen av URI inneholder brukeropplysningene. Med mindre du bruker standardkonfigurasjonen, må denne delen være inkludert.

For bare å spesifisere brukernavnet, kan du bruke følgende URI -struktur:

$ postgres: //@

Hvis et passord er nødvendig, ser syntaksen til seksjonen slik ut:

$ postgres: //:@

Vertspesifikasjon

Denne delen spesifiserer nettverksadressen til PostgreSQL -serveren.

Hvis applikasjonen skal prøve forbindelsen til standard PostgreSQL -port (5432) på den lokale maskinen, ser URI slik ut:

$ postgers: // localhost

Hvis et brukernavn og et passord er nødvendig, ser den oppdaterte URI slik ut:

$ postgres: //: @localhost

Hvis PostgreSQL-serveren er lokalisert hos en ekstern vert og/eller lytter til en ikke-standardport, endres URI-strukturen dramatisk. For eksempel for å koble til en PostgreSQL -server som ligger på 192.168.100.223 og for å lytte til port 4444 ser forbindelsen URI slik ut:

$ postgres: //:@192.168.100.223: 4444

Vi kan gi ytterligere informasjon i denne delen. For eksempel fallback -serverne. Hvis det er en Fallback PostgreSQL -server på 192.168.100.100 som lytter til port 3333, kan vi legge den til følgende tilkobling URI:

$ postgres: //:@192.168.100.223: 4444,192.168.100.100: 3333

I dette eksemplet prøver applikasjonen først å koble seg til 192.168.100.223: 4444. Ved feil prøver den å koble seg til tilbakeslagsadressen som er 192.168.100.100: 3333.

Databasenavn

Denne delen omhandler databasen som applikasjonen kobles til. I PostgreSQL må du koble deg til en bestemt database når du oppretter en tilkobling.

Navnet på databasen skal deklareres fra og med en fremover skråstrek (/) og fortsetter til slutten av linjen eller et spørsmålstegn (?).

For eksempel for å koble til databasen demo_db på en PostgreSQL -server som lytter på 192.168.100.223: 4444, tilkoblingen URI ser slik ut:

$ postgres: //:@192.168.100.223: 4444/demo_db

Ytterligere parametere

Den siste delen av tilkoblingen URI er forbeholdt ytterligere tilkoblingsparametere. Listen starter med et spørsmålstegn (?) og fortsetter til slutten av URI.

Som nevnt tidligere er parametrene nøkkelverdipar. Verdien av en nøkkel skilles med et like tegn (=) og hvert nøkkelverdipar er atskilt med en ampersand (&).

For eksempel Connection_timeout Parameter erklærer tidsavbruddet for tilkoblingen på sekunder. For å bruke en timeout på 30 sekunder, bruk den på tilkoblingen URI -parameteren som følger:

$ postgres: //:@192.168.100.223: 4444/demo_db?Connection_Timeout = 30

En annen parameter som er SSLMODE bestemmer prioriteten til en sikker SSL TCP/IP -tilkoblingsforhandling. Vi kan legge det til følgende tilkobling URI:

$ postgres: //:@192.168.100.223: 4444/demo_db?connection_timeout = 30 & sslMode = krever

Sjekk ut PostgreSQL -dokumentasjonen på listen over tilgjengelige tilkoblingsparametere.

Bruke PostgreSQL -tilkoblingen URI

I denne delen har vi en rask demonstrasjon av å bruke PostgreSQL -tilkoblingen URI i aksjon. Merk at avhengig av programmeringsspråk, moduler, rammer og andre faktorer, varierer implementeringen av tilkoblingen URI.

Her bruker vi forbindelsen URI med PSQL For å koble til ønsket database. Generelt for å koble til en database i PSQL, Kommandoen er som følger:

$ psql - -host = - -dbName = --Username = --port =

For å koble til Demo_DB -databasen som er vert på en lokal PostgreSQL -server som lytter til Port 5432 som Postgres, ser kommandoen slik ut:

$ psql - -vert = localhost - -dbname = demo_db --brukername = postgres --port = 5432

Det er også andre måter å koble til en PostgreSQL -database. For eksempel ved å bruke følgende tilkobling URI:

$ psql postgres: //:@:/

Ved hjelp av strukturen kan vi konstruere en enklere kommando for å koble til Demo_DB -databasen:

$ psql postgres: // postgres@localhost/demo_db

Konklusjon

I denne guiden diskuterte vi PostgreSQL -tilkoblingen URI, hvordan vi tolker dens forskjellige komponent, og hvordan du konstruerer en tilkobling URI med et gitt sett med info. Tilkoblingen URI er en interessant måte å kode all nødvendig informasjon for en tilkobling til en gitt database i en enkelt streng. Vi demonstrerte også hvordan du bruker en tilkobling URI for å koble til en PostgreSQL -database.

Interessert i å lære mer om PostgreSQL? Ta en titt på kategorien PostgreSQL som inneholder hundrevis av guider og opplæringsprogrammer om forskjellige aspekter av PostgreSQL.