Tilgængelig i mere end 20 år nu har PostgreSQL bevist sin bemærkelsesværdige pålidelighed i brugssager, der spænder fra små til store datasæt. Listen over tilfredse kommercielle og ikke-kommercielle brugere er ret lang, og den inkluderer blandt andet FNs børns fond (UNICEF), Creative Commons arkivet, Skype og BMW Group.
Dens indbyggede transaktionsstyringsmodel samt sæt geometriske datatyper hjalp med at skille sig ud fra softwaren fra andre udviklinger som MySQL / MariaDB, Redis eller SQLite . I denne artikel fokuserer vi på opsætningen af PostgreSQL 11.5 i kombination med PostGIS 2.5 .
PostGIS er den geografiske udvidelse af PostgreSQL, som tilføjer både geometriske funktioner og geografiske funktioner til PostgreSQL. Kort sagt fungerer disse rumlige datatyper som former, og både abstrakte og indkapsler rumlige strukturer såsom grænse og dimension. Blandt andet er nyligt tilgængelige datatyper Punkt, Overflade, og Kurve.
En af de mest fremtrædende brugere af PostGIS er Institute Géographique National (IGN) i Frankrig, der indsamler, integrerer, administrerer og distribuerer geografisk referenceinformation til hele landet. Siden juli 2006 er PostGIS i udstrakt brug. Indtil nu har IGNs database mere end 100 millioner rumlige objekter.
Vi opretter PostgreSQL / PostGIS på Debian GNU / Linux 10 “Buster” ved hjælp af XFCE-skrivebordsmiljøet .
Opsætning af PostgreSQL
Opsætning af PostgreSQL DBMS på en Debian GNU / Linux kræver kun et moderat niveau af viden om systemadministration. Udfordringen her er den rigtige rækkefølge af trin, der kræves (se for en komplet liste med billeder). Som med enhver anden Linux-distribution er der standardindstillinger og pakkenavne, der kan være lidt besværlige. Vi stønner ikke og starter bare i stedet.
Installation af PostgreSQL som software
Trin et er installationen af PostgreSQL-pakken. I en terminal kan du gøre det som følger:
# apt-get install postgresqlVed hjælp af Chef-konfigurationsstyringssystemet indeholder en grundlæggende opskrift, der fører til det samme resultat, kun følgende linjer:
pakke 'postgresql' gør handling: installer slutningentjenesten 'postgresql' gør handling: [: aktiver,: start] slutningen
Disse linjer fører til installationen af postgresql-pakken (plus pakkeafhængigheder) og muliggør den tilsvarende service. For at kontrollere, at PostgreSQL-tjenesten kører, skal denne kommando give dig et positivt output, derefter:
# service postgresql status
Afslutte opsætningen af administratorens konto
Brugerpostgriserne administrerer PostgreSQL-databaser. Trin to er færdiggørelsen af denne konto og begynder med at tilføje en adgangskode til hans legitimationsoplysninger som følger:
# passwd postgresNyt kodeord:
Gentag den nye adgangskode:
passwd: adgangskode opdateret
#
Når du logger ind som brugerpostgres, kan du give andre brugere adgang til PostgreSQL-databasen. Derefter skal vi tilføje en bruger i trin tre. Vær opmærksom på, at både Linux-systemet og PostgreSQL holder deres brugerdatabaser separat. Derfor er du nødt til at sørge for, at der også findes en almindelig Linux-bruger med samme navn på dit system, før du giver adgang til PostgreSQL for ham.
Tilføjelse af en brugerkonto
Trin fire udføres som brugeren postgres. Skift fra rod til postgres, og opret en ny konto til brugeren linuxhint i PostgreSQL-databasen ved hjælp af denne kommando:
postgres $ createuser -interaktiv linuxhintSkal den nye rolle være superbruger? (å / n) n
Skal den nye rolle få lov til at oprette databaser? (å / n) n
Skal den nye rolle have lov til at oprette nye roller? (å / n) n
postgres $
Indstil derefter en adgangskode til den nyoprettede bruger linuxhint. Log ind på databaseskallen ved hjælp af psql, og indstil den nye adgangskode ved hjælp af kommandoen \ adgangskoden. Indtast derefter \ q for at afslutte databaseskallen og vende tilbage til skallen i terminalen:
postgres $ psql psql (11.5 (Debian 11.5-1 + deb10u1)) Skriv “hjælp” for yderligere hjælp.postgres = # linuxhint Indtast ny adgangskode: Indtast den nye adgangskode igen: postgres = # postgres $
Trin fem er oprettelsen af en separat database til brugerens linuxhint. For at gøre det skal du indtaste kommandoen createdb som brugerpostgres:
postgres $ createdb linuxhintNu har brugeren linuxhint sin egen database og kan arbejde med den efter hans behov.
Tilføjelse af PostGIS
Trin seks består af installationen af PostGIS-pakken. Som gjort for PostgreSQL før kan det gøres som følger ved hjælp af apt-get:
# apt-get install postgisAlternativt ville en simpel opskrift på kok være denne:
pakke 'postgis' gørhandling: installer
ende
PostGIS-pakken er afhængig af Debian-pakken postgresql-11-postgis-2.5-scripts (automatisk installeret), der forbinder PostGIS til PostgreSQL og eliminerer et antal manuelle trin, der er nødvendige i andre distributioner. Uanset hvilken af de to installationsmetoder du vælger - apt-get eller Chef -, vil Debian-pakkehåndteringen sikre, at alle de afhængige pakker begge er installeret og konfigureret korrekt.
Trin syv er aktivering af PostGIS-udvidelsen. Som forklaret i PostGIS-dokumentationen, skal du ikke installere den i databasen med navnet postgres, da denne bruges til de interne datastrukturer i PostgreSQL, og kun aktivere den i hver brugerdatabase, du faktisk har brug for i. Log ind som brugerens postgres, opret forbindelse til den ønskede database, og opret de to udvidelser postgis og postgis_topology som vist nedenfor. Kommandoen \ c forbinder dig til den ønskede database, og CREATE EXTENSION gør den ønskede udvidelse tilgængelig:
postgres = #Nu er du forbundet med databasen “linuxhint” som bruger “postgres”.
linuxhint = # OPRET UDVIDELSE postgis;OPRET UDVIDELSE
linuxhint = # CREATE EXTENSION postgis_topology;
OPRET UDVIDELSE
linuxhint = #
Trin syv er til validering af, at aktiveringen af udvidelsen var vellykket. PostgreSQL-kommandoen \ dx viser de udvidelser, der er installeret, og både postgis og postgis_topology skal være på listen, nu.
PostGIS leverer også andre udvidelser. Vi anbefaler kun at installere det, du har brug for. Se PostGIS-dokumentationen for at få flere oplysninger om udvidelserne.
Tilføjelse af data
Når du har konfigureret PostGIS med succes, er det tid til at tilføje tabeller og udfylde dem med data. En hel del geografiske data er gratis tilgængelige online, for eksempel fra Geofabrik. Dataene leveres som formfiler, som er et almindeligt vektordataformat til GIS-software.
Efter at have downloadet formfilen skal du indlæse formfilens indhold i PostGIS ved hjælp af det specielle kommandolinjeværktøj shp2pgsql. Eksemplet nedenfor viser, hvordan man først konverterer formfilen til en sekvens af SQL-kommandoer og uploader listen over SQL-kommandoer til databasen ved hjælp af psql, næste:
linuxhint $ shp2pgsql -cDiI jernbaner.shp jernbane> jernbane.kvmFormfiltype: lysbue
Postgis type: MULTILINESTRING [2]
linuxhint $
linuxhint $ psql -f jernbane.kvm
Figuren nedenfor viser det output, der udskrives på skærmen, så snart du uploader dataene.
Nu er PostgreSQL / PostGIS til din rådighed og klar til at modtage dine SQL-forespørgsler. For eksempel giver pgadmin dig et kig under hætten inden for få minutter. Figuren nedenfor viser dette for de uploadede data. Kolonnen til højre har en geometrisk type MultiLineString.
Konklusion
Opsætning af PostgreSQL / PostGIS er ikke raketvidenskab. Med trinnene forklaret ovenfor kan du gøre dette på mindre end en time og få resultater hurtigt. Et voila!
Links og referencer
- XFCE-skrivebordsmiljø
- PostgreSQL
- PostGIS
- Shahriar Shovon: Installation af PostgreSQL på Debian 10, Linuxhint
- Geofabrik, downloads
- Shapefile
- Kok
- Redis
- SQLite
- UNICEF
- Debian GNU / Linux Buster, Debian Wiki
- Kreative fællesheder
- Skype
- BMW Group
- Institute Géographique National (IGN)