PostgreSQL

Opsætning af PostgreSQL med PostGIS på Debian GNU / Linux 10

Opsætning af PostgreSQL med PostGIS på Debian GNU / Linux 10
Som symboliseret af den blå elefant med sit diskriminerende projektsymbol, hører PostgreSQL til de mest stabile Open Source SQL Database Management Systems (DBMS) nogensinde: en elefant er velkendt for at have en stor hukommelse og glemmer aldrig, hvad han har observeret.

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 postgresql

Ved 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 slutningen
tjenesten '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 postgres
Nyt 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 linuxhint
Skal 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 linuxhint

Nu 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 postgis

Alternativt ville en simpel opskrift på kok være denne:

pakke 'postgis' gør
handling: 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.kvm
Formfiltype: 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
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...