Dostupan više od 20 godina, PostgreSQL je dokazao svoju izvanrednu pouzdanost u slučajevima korištenja od malih do ogromnih skupova podataka. Popis zadovoljnih komercijalnih i nekomercijalnih korisnika prilično je dugačak, a među ostalim uključuje Dječji fond Ujedinjenih naroda (UNICEF), arhivu Creative Commons, Skype i BMW Group.
Njegov ugrađeni model upravljanja transakcijama, kao i niz geometrijskih tipova podataka, pomogao je izdvojiti softver od ostalih događaja kao što su MySQL / MariaDB, Redis ili SQLite . U ovom se članku usredotočujemo na postavljanje PostgreSQL 11.5 u kombinaciji s PostGIS 2.5 .
PostGIS je prostorno proširenje PostgreSQL-a koje dodaje i geometrijske funkcije i geografske značajke PostgreSQL-u. Jednostavno govoreći, ti tipovi prostornih podataka djeluju kao oblici, i apstraktni su i obuhvaćaju prostorne strukture kao što su granica i dimenzija. Između ostalih, novi su tipovi podataka Točka, Površinski, i Zavoj.
Jedan od najistaknutijih korisnika PostGIS-a je Institute Géographique National (IGN) iz Francuske koji prikuplja, integrira, upravlja i distribuira referentne geografske podatke za cijelu zemlju. Od srpnja 2006. PostGIS je u širokoj upotrebi. Do sada baza podataka IGN-a sadrži više od 100 milijuna prostornih objekata.
Postavit ćemo PostgreSQL / PostGIS na Debian GNU / Linux 10 “Buster” koristeći XFCE radno okruženje .
Postavljanje PostgreSQL-a
Postavljanje PostgreSQL DBMS-a na Debian GNU / Linuxu zahtijeva samo umjerenu razinu znanja o administraciji sustava. Ovdje je izazov pravi redoslijed koraka koji su potrebni (pogledajte cijeli popis sa slikama). Kao i kod svake druge distribucije Linuxa, postoje zadane postavke i nazivi paketa koji mogu biti malo problematični. Ne kukamo, već samo započinjemo.
Instaliranje PostgreSQL-a kao softvera
Prvi korak je instalacija PostgreSQL paketa. U terminalu to možete učiniti na sljedeći način:
# apt-get instalirati postgresqlKorištenje sustava za upravljanje konfiguracijom Chef, osnovni recept koji vodi do istog rezultata sadrži samo sljedeće retke:
paket 'postgresql' učini akciju: instaliraj krajusluga 'postgresql' učiniti radnju: [: omogućiti,: započeti] kraj
Ovi redovi vode do instalacije paketa postgresql (plus ovisnosti paketa) i omogućavanja odgovarajuće usluge. Kako bi provjerili radi li usluga PostgreSQL, ova naredba treba vam dati pozitivan izlaz, a zatim:
# status postgresql usluge
Dovršavanje postavljanja za račun administratora
Korisnik postgres administrira baze podataka PostgreSQL. Drugi korak dovršava ovaj račun i započinje dodavanjem lozinke njegovim vjerodajnicama na sljedeći način:
# passwd postgresNova lozinka:
Ponovo unesite novu lozinku:
passwd: lozinka je uspješno ažurirana
#
Prijava kao korisnički postgres omogućuje vam da drugim korisnicima odobrite pristup bazi podataka PostgreSQL. Nakon toga trebamo dodati korisnika u trećem koraku. Imajte na umu činjenicu da Linux sustav i PostgreSQL svoje korisničke baze podataka drže odvojeno. Zbog toga morate osigurati da i uobičajeni Linux korisnik s istim imenom postoji na vašem sustavu, prije nego što mu omogućite pristup PostgreSQL-u.
Dodavanje korisničkog računa
Četvrti korak je izveden kao korisnik postgres. Promijenite s root na postgres i stvorite novi račun za korisnika linuxhint u bazi podataka PostgreSQL uz pomoć ove naredbe:
postgres $ createuser -interactive linuxhintHoće li nova uloga biti superkorisnik? (g / n) n
Hoće li novoj ulozi biti dopušteno stvaranje baza podataka? (g / n) n
Hoće li novoj ulozi dopustiti stvaranje novih uloga? (g / n) n
postgres $
Zatim postavite lozinku za novostvorenog korisnika linuxhint. Prijavite se u ljusku baze podataka pomoću psql-a i postavite novu lozinku pomoću naredbe \ password. Nakon toga upišite \ q da biste izašli iz ljuske baze podataka i vratili se u ljusku u terminalu:
postgres $ psql psql (11.5 (Debian 11.5-1 + deb10u1)) Upišite "help" za daljnju pomoć.postgres = # linuxhint Unesite novu lozinku: Upišite novu lozinku: postgres = # postgres $
Korak pet je stvaranje zasebne baze podataka za korisnika linuxhint. Da biste to učinili, u naredbu createdb unesite kao korisnički postgres:
postgres $ createdb linuxhintSada korisnik linuxhint ima vlastitu bazu podataka i može raditi s njom prema svojim potrebama.
Dodavanje PostGIS-a
Šesti korak sastoji se od instalacije PostGIS paketa. Kao što je već učinjeno za PostgreSQL, to se može učiniti na sljedeći način pomoću apt-get:
# apt-get instalirati postgisJednostavan recept za kuhara bio bi ovaj:
paket 'postgis' učinitiradnja: instaliraj
kraj
Paket PostGIS ima ovisnost o Debian paketu postgresql-11-postgis-2.5 skripti (automatski instalirane) koje povezuju PostGIS s PostgreSQL-om i eliminiraju brojne ručne korake potrebne u drugim distribucijama. Bez obzira koji od dva načina instalacije odabrali - apt-get ili Chef -, upravljanje paketom Debian pobrinut će se da su svi ovisni paketi instalirani i ispravno konfigurirani.
Sedmi korak je omogućavanje proširenja PostGIS. Kao što je objašnjeno u PostGIS dokumentaciji, nemojte ga instalirati u bazu podataka nazvanu postgres jer se ova koristi za interne podatkovne strukture PostgreSQL-a, a omogućite je samo u svakoj korisničkoj bazi podataka u kojoj vam je zapravo potrebna. Prijavite se kao korisnik postgres, povežite se sa željenom bazom podataka i stvorite dva proširenja postgis i postgis_topology kao što je prikazano dolje. Naredba \ c povezuje vas sa željenom bazom podataka, a CREATE EXTENSION čini željeno proširenje dostupnim:
postgres = #Sada ste povezani s bazom podataka "linuxhint" kao korisnik "postgres".
linuxhint = # IZRADI PROŠIRENJE postgis;IZRADI PROŠIRENJE
linuxhint = # IZRADI PROŠIRENJE postgis_topology;
IZRADI PROŠIRENJE
linuxhint = #
Sedmi korak je za provjeru je li aktivacija proširenja bila uspješna. Naredba PostgreSQL \ dx navodi ekstenzije koje su instalirane, a i postgis i postgis_topology trebali bi biti na popisu, sada.
PostGIS nudi i druga proširenja. Preporučujemo da instalirate samo ono što vam treba. Pogledajte PostGIS dokumentaciju za više informacija o proširenjima.
Dodavanje podataka
Nakon uspješnog postavljanja PostGIS-a, vrijeme je za dodavanje tablica i njihovo popunjavanje podacima. Dosta je zemljopisnih podataka besplatno dostupno na mreži, na primjer Geofabrik. Podaci se pružaju u obliku datoteka, što je uobičajeni format vektorskih podataka za GIS softver.
Nakon preuzimanja datoteke oblika, učitajte sadržaj datoteke oblika u PostGIS uz pomoć posebnog alata naredbenog retka shp2pgsql. Primjer u nastavku pokazuje kako prvo pretvoriti datoteku oblika u niz SQL naredbi i zatim prenijeti popis SQL naredbi u bazu podataka pomoću psql, a zatim:
linuxhint $ shp2pgsql -cDiI željeznice.shp željeznica> željeznica.sqlVrsta oblika datoteke: luk
Vrsta postgisa: MULTILINESTRING [2]
linuxhint $
linuxhint $ psql -f željeznica.sql
Donja slika prikazuje izlaz koji se ispisuje na ekranu čim prenesete podatke.
Sada vam PostgreSQL / PostGIS stoji na usluzi i spreman je za primanje vaših SQL upita. Na primjer, pgadmin vam omogućuje pogled ispod haube u roku od nekoliko minuta. Donja slika prikazuje to za prenesene podatke. Krajnji desni stupac ima geometrijski tip MultiLineString.
Zaključak
Postavljanje PostgreSQL / PostGIS-a nije raketna znanost. Uz gore objašnjene korake to možete učiniti za manje od sat vremena i brzo postići rezultate. Et voila!
Poveznice i reference
- XFCE radno okruženje
- PostgreSQL
- PostGIS
- Shahriar Shovon: Instaliranje PostgreSQL-a na Debian 10, Linuxhint
- Geofabrik, Preuzimanja
- Shapefile
- Kuhar
- Redis
- SQLite
- UNICEF
- Debian GNU / Linux Buster, Debian Wiki
- Creative Commons
- Skype
- BMW grupa
- Institute Géographique National (IGN)