Sette opp PostgreSql med Postgis på Debian Gnu/Linux Topp 10

Sette opp PostgreSql med Postgis på Debian Gnu/Linux Topp 10
Som symbolisert av den blå elefanten med sitt diskusjonelle prosjektsymbol, tilhører PostgreSQL de mest stabile open source SQL Database Management Systems (DBMS) noensinne: en elefant er kjent for å ha et flott minne, og glemmer aldri det han har observert.

PostgreSQL er tilgjengelig i mer enn 20 år, og har bevist sin bemerkelsesverdige pålitelighet i brukssaker som spenner fra små til enorme datasett. Listen over fornøyde kommersielle og ikke-kommersielle brukere er ganske lang, og blant andre inkluderer den FNs barnefond (UNICEF), Creative Commons Archive, Skype og BMW Group.

Den innebygde transaksjonsstyringsmodellen så vel som settet med geometriske datatyper bidro til å skille programvaren fra annen utvikling som MySQL/MariaDB, Redis eller SQLite . I denne artikkelen fokuserer vi på oppsettet av PostgreSql 11.5 i kombinasjon med postgis 2.5 .

Postgis er den romlige utvidelsen av PostgreSQL som tilfører både geometriske funksjoner og geografiske funksjoner til PostgreSQL. Enkelt sett fungerer disse romlige datatypene som former, og både abstrakte og innkapsling av romlige strukturer som grense og dimensjon. Blant andre er nylig tilgjengelige datatyper Punkt, Flate, og Kurve.

En av de mest fremtredende brukerne av Postgis er instituttet Géographique National (IGN) i Frankrike som samler inn, integrerer, administrerer og distribuerer referanse geografisk informasjon for hele landet. Siden juli 2006 er Postgis i omfattende bruk. Til nå har IGNs database mer enn 100 millioner romlige objekter.

Vi vil sette opp PostgreSQL/Postgis på Debian GNU/Linux 10 “Buster” ved hjelp av XFCE Desktop Environment .

Sette opp PostgreSql

Å sette opp PostgreSQL DBMS på en Debian GNU/Linux krever bare et moderat kunnskapsnivå om systemadministrasjon. Utfordringen her er den rette rekkefølgen på trinn som kreves (se for en full liste med bilder). Som med alle andre Linux -distribusjoner, er det standardinnstillinger og pakkenavn som kan være litt plagsomme. Vi stønner ikke, og begynner bare i stedet.

Installere PostgreSQL som programvare

Trinn en er installasjonen av PostgreSQL -pakken. I en terminal kan du gjøre det som følger:

# apt-get installer PostgreSql

Ved hjelp av Chef Configuration Management System, inneholder en grunnleggende oppskrift som fører til samme resultat bare følgende linjer:

Pakken 'PostgreSql' Do Action: Installer enden
Service 'PostgreSql' Do Action: [: Aktiver ,: Start] Slutt

Disse linjene fører til installasjon av PostgreSQL -pakken (pluss pakkeavhengigheter), og aktiverer ifølge tjenesten. For å sjekke PostgreSQL -tjenesten for å ha kjørt, bør denne kommandoen gi deg en positiv utgang, da:

# Service PostgreSql Status

Fullføre oppsettet for administratorens konto

Brukeren Postgres administrerer PostgreSQL -databasene. Trinn to er ferdig med denne kontoen, og begynner med å legge til et passord til legitimasjonen hans som følger:

# passwd postgres
Nytt passord:
Skriv inn nytt passord på nytt:
Passwd: Passord oppdatert vellykket
#

Logging som bruker Postgres lar deg gi andre brukere tilgang til PostgreSQL -databasen. Deretter må vi legge til en bruker i trinn tre. Vær oppmerksom på at både Linux -systemet og PostgreSQL holder brukerdatabasene sine separat. Derfor må du sørge for at en vanlig Linux -bruker med samme navn eksisterer på systemet ditt også, før du muliggjør tilgang til PostgreSQL for ham.

Legge til en brukerkonto

Trinn fire gjøres som brukerens postgres. Endre fra rot til postgres, og opprette en ny konto for brukeren Linuxhint i PostgreSQL -databasen ved hjelp av denne kommandoen:

Postgres $ createUser -interaktiv linuxhint
Skal den nye rollen være en superbruker? (y/n) n
Skal den nye rollen få lov til å lage databaser? (y/n) n
Skal den nye rollen få lov til å skape nye roller? (y/n) n
Postgres $

Neste, angi et passord for den nyopprettede brukeren Linuxhint. Logg inn på databaseskallet ved hjelp av PSQL, og angi det nye passordet ved å bruke kommandoen \ Passord. Etter den typen \ q for å avslutte databaseskallet, og for å gå tilbake til skallet i terminalen:

Postgres $ psql psql (11.5 (Debian 11.5-1+Deb10U1)) Type “Hjelp” for videre hjelp.
Postgres =# Linuxhint Skriv inn nytt passord: Forsøk det nye passordet: Postgres =# Postgres $

Trinn fem er opprettelsen av en egen database for brukeren Linuxhint. For å gjøre det, skriv inn kommandoen opprettetb som brukerpostgres:

Postgres $ CreateB Linuxhint

Nå har brukeren Linuxhint sin egen database, og kan jobbe med den i henhold til hans behov.

Legge til postgis

Trinn seks består av installasjonen av Postgis -pakken. Som gjort for PostgreSQL før, kan det gjøres som følger ved å bruke apt-get:

# apt-get installere postgis

Alternativt ville en enkel oppskrift på kokk være denne:

Pakken 'Postgis' gjør
Handling: Installer
slutt

Postgis-pakken har en avhengighet for Debian-pakken PostgreSql-11-Postgis-2.5-skripter (automatisk installert) som kobler Postgis til PostgreSQL, og eliminerer et antall manuelle trinn som trengs i andre distribusjoner. Uansett hvilken av de to installasjonsmetodene du velger - apt -get eller Chef -, vil Debian Package Management sørge for at alle de avhengige pakkene begge er installert og konfigurert riktig.

Trinn syv er muliggjøring av postgis -forlengelsen. Som forklart i postgis -dokumentasjonen, ikke installer den i databasen som heter Postgres, da denne er i bruk for de interne datastrukturene til PostgreSQL, og bare aktiver den i hver brukerdatabase du faktisk trenger den i. Logg inn som brukerpostgres, koble til ønsket database, og lag de to utvidelsene Postgis og Postgis_topology som vist nedenfor. Kommandoen \ C kobler deg til ønsket database, og oppretter utvidelse gjør ønsket utvidelse tilgjengelig:

Postgres =#

Nå er du koblet til databasen “Linuxhint” som bruker “Postgres”.

LinuxHint =# Opprett forlengelse Postgis;
Lag utvidelse
LinuxHint =# Opprett utvidelse Postgis_topology;
Lag utvidelse
linuxhint =#

Trinn syv er for validering at aktiveringen av utvidelsen var vellykket. PostgreSql -kommandoen \ DX viser utvidelsene som er installert, og både postgis og postgis_topology skal være på listen, nå.

Postgis gir også andre utvidelser. Vi anbefaler bare å installere det du trenger. Se postgis -dokumentasjonen for mer informasjon om utvidelsene.

Legge til data

Etter å ha satt opp postgis med hell er det på tide å legge til tabeller, og fylle dem med data. Ganske mange geografiske data er gratis tilgjengelig online, for eksempel fra Geofabrik. Dataene blir gitt som formfiler som er et vanlig vektordataformat for GIS -programvare.

Etter å ha lastet ned formfilen, last inn innholdet i formfilen til Postgis ved hjelp av Special Commandline Tool Shp2pgsql. Eksemplet nedenfor viser hvordan du konverterer formfilen til en sekvens av SQL -kommandoer, først, og laster opp listen over SQL -kommandoer til databasen ved å bruke PSQL, neste:

Linuxhint $ shp2pgsql -cdii jernbaner.SHP Railway> Railway.SQL
Shapefile Type: Arc
Postgis Type: Multilinestring [2]
Linuxhint $
Linuxhint $ psql -f jernbane.SQL

Figuren nedenfor viser utdataene som er skrevet ut på skjermen så snart du laster opp dataene.

Nå er PostgreSQL/Postgis til din tjeneste, og er klar til å motta SQL -spørsmålene dine. For eksempel lar Pgadmin deg se under panseret i løpet av få minutter. Figuren nedenfor viser dette for de opplastede dataene. Den høyre kolonnen har en geometrisk type multilinestring.

Konklusjon

Å sette opp PostgreSql/Postgis er ikke rakettvitenskap. Med trinnene forklart ovenfor kan du gjøre dette på mindre enn en time, og ha resultater raskt. Et voila!

Lenker og referanser
  • XFCE Desktop Environment
  • PostgreSql
  • Postgis
  • Shahriar Shovon: Installere PostgreSql på Debian 10, Linuxhint
  • Geofabrik, nedlastinger
  • Formfil
  • Kokk
  • Redis
  • Sqlite
  • UNICEF
  • Debian Gnu/Linux Buster, Debian Wiki
  • Creative Commons
  • Skype
  • BMW Group
  • Institute Géographique National (IGN)