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:
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å:
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 = 60Tilkoblingsstreng
$ postgreSql: //:@:/[?]Hvor:
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 = myAppUlike 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: //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: // localhostHvis et brukernavn og et passord er nødvendig, ser den oppdaterte URI slik ut:
$ postgres: //: @localhostHvis 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: 4444Vi 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: 3333I 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_dbYtterligere 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 = 30En 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 = kreverSjekk 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 = 5432Det 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_dbKonklusjon
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.