PostgreSQL, který je k dispozici již více než 20 let, prokázal svou pozoruhodnou spolehlivost v případech použití od malých až po obrovské datové sady. Seznam spokojených komerčních i nekomerčních uživatelů je poměrně dlouhý a mimo jiné zahrnuje Dětský fond OSN (UNICEF), archiv Creative Commons, Skype a BMW Group.
Jeho vestavěný model správy transakcí a sada geometrických datových typů pomohly odlišit software od jiných vývojů, jako jsou MySQL / MariaDB, Redis nebo SQLite . V tomto článku se zaměříme na nastavení PostgreSQL 11.5 v kombinaci s PostGIS 2.5 .
PostGIS je prostorové rozšíření PostgreSQL, které do PostgreSQL přidává jak geometrické funkce, tak geografické rysy. Jednoduše řečeno, tyto prostorové datové typy fungují jako tvary a oba abstraktní a zapouzdřují prostorové struktury, jako jsou hranice a dimenze. Nově dostupné datové typy jsou mimo jiné Směřovat, Povrch, a Křivka.
Jedním z nejvýznamnějších uživatelů PostGIS je francouzský Institute Géographique National (IGN), který shromažďuje, integruje, spravuje a distribuuje referenční geografické informace pro celou zemi. Od července 2006 se PostGIS hojně používá. Doposud databáze IGN obsahuje více než 100 milionů prostorových objektů.
PostgreSQL / PostGIS nastavíme na Debian GNU / Linux 10 „Buster“ pomocí desktopového prostředí XFCE .
Nastavení PostgreSQL
Nastavení PostgreSQL DBMS na Debianu GNU / Linux vyžaduje pouze střední úroveň znalostí správy systému. Výzvou je správné pořadí kroků, které jsou vyžadovány (úplný seznam obrázků najdete v seznamu). Stejně jako u každé jiné distribuce Linuxu existují výchozí nastavení a názvy balíčků, které mohou být trochu problematické. Nesténáme a místo toho začneme.
Instalace PostgreSQL jako softwaru
Prvním krokem je instalace balíčku PostgreSQL. V terminálu to můžete provést následovně:
# apt-get install postgresqlPomocí systému správy konfigurace Chef obsahuje základní recept, který vede ke stejnému výsledku, pouze následující řádky:
balíček 'postgresql' udělat akci: nainstalovat konecslužba 'postgresql' udělat akci: [: povolit,: start] konec
Tyto řádky vedou k instalaci balíčku postgresql (plus závislostí balíků) a povolení odpovídající služby. Chcete-li zkontrolovat, zda je služba PostgreSQL spuštěna, měl by vám tento příkaz poskytnout pozitivní výstup, pak:
# stav služby postgresql
Dokončení nastavení účtu správce
Uživatel postgres spravuje databáze PostgreSQL. Krok dva dokončuje tento účet a začíná přidáním hesla k jeho přihlašovacím údajům následovně:
# passwd postgresNové heslo:
Znovu zadejte nové heslo:
heslo: heslo bylo úspěšně aktualizováno
#
Přihlášení jako uživatel postgres vám umožňuje poskytnout ostatním uživatelům přístup k databázi PostgreSQL. Následně musíme přidat uživatele v kroku tři. Uvědomte si prosím, že jak systém Linux, tak PostgreSQL uchovávají své uživatelské databáze samostatně. Proto se musíte ujistit, že ve vašem systému existuje i běžný uživatel Linuxu se stejným jménem, než mu povolíte přístup k PostgreSQL.
Přidání uživatelského účtu
Krok čtyři se provádí jako uživatel postgres. Změňte z root na postgres a pomocí tohoto příkazu vytvořte nový účet pro uživatele linuxhint v databázi PostgreSQL:
postgres $ createuser -interaktivní linuxhintBude nová role superuživatelem? (y / n) n
Bude nové roli umožněno vytvářet databáze? (y / n) n
Umožní nová role vytvářet nové role? (y / n) n
postgres $
Dále nastavte heslo pro nově vytvořeného uživatele linuxhint. Přihlaste se do prostředí databáze pomocí psql a nastavte nové heslo pomocí příkazu \ heslo. Poté zadejte \ q, abyste ukončili prostředí databáze a vrátili se do prostředí v terminálu:
postgres $ psql psql (11.5 (Debian 11.5-1 + deb10u1)) Pro další pomoc zadejte „help“.postgres = # linuxhint Zadejte nové heslo: Zadejte nové heslo znovu: postgres = # postgres $
Pátým krokem je vytvoření samostatné databáze pro uživatele linuxhint. Za tímto účelem zadejte příkaz createdb jako user postgres:
postgres $ createdb linuxhintUživatel linuxhint má nyní svou vlastní databázi a může s ní pracovat podle svých potřeb.
Přidání PostGIS
Krok šest sestává z instalace balíčku PostGIS. Stejně jako dříve pro PostgreSQL lze pomocí apt-get provést následující:
# apt-get install postgisJednoduchý recept na kuchaře by byl tento:
balíček 'postgis' udělatakce: nainstalovat
konec
Balíček PostGIS má závislost na balíčku Debianu postgresql-11-postgis-2.5 skriptů (automaticky nainstalovaných), které spojují PostGIS s PostgreSQL a eliminují řadu manuálních kroků potřebných v jiných distribucích. Bez ohledu na to, kterou ze dvou instalačních metod zvolíte - apt-get nebo Chef -, správa balíčků Debianu zajistí, aby byly nainstalovány a správně nakonfigurovány všechny závislé balíčky.
V sedmém kroku je povolení rozšíření PostGIS. Jak je vysvětleno v dokumentaci PostGIS, neinstalujte jej do databáze s názvem postgres, protože se tato používá pro interní datové struktury PostgreSQL, a povolte ji pouze v každé databázi uživatelů, ve které ji skutečně potřebujete. Přihlaste se jako uživatel postgres, připojte se k požadované databázi a vytvořte dvě rozšíření postgis a postgis_topology, jak je uvedeno níže. Příkaz \ c vás připojí k požadované databázi a CREATE EXTENSION zpřístupní požadovanou příponu:
postgres = #Nyní jste připojeni k databázi „linuxhint“ jako uživatel „postgres“.
linuxhint = # VYTVOŘIT ROZŠÍŘENÍ postgis;VYTVOŘIT ROZŠÍŘENÍ
linuxhint = # VYTVOŘIT ROZŠÍŘENÍ postgis_topology;
VYTVOŘIT ROZŠÍŘENÍ
linuxhint = #
Krok sedm je pro ověření, že aktivace rozšíření byla úspěšná. Příkaz PostgreSQL \ dx uvádí seznam nainstalovaných rozšíření a v seznamu by nyní měly být jak postgis, tak postgis_topology.
PostGIS poskytuje i další rozšíření. Doporučujeme nainstalovat pouze to, co potřebujete. Další informace týkající se rozšíření najdete v dokumentaci PostGIS.
Přidávání dat
Po úspěšném nastavení PostGIS je čas přidat tabulky a naplnit je daty. Poměrně mnoho geografických dat je k dispozici online zdarma, například z Geofabrik. Data jsou poskytována jako soubory tvaru, což je běžný formát vektorových dat pro software GIS.
Po stažení souboru tvaru načtěte obsah souboru tvaru do PostGIS pomocí speciálního nástroje příkazového řádku shp2pgsql. Níže uvedený příklad ukazuje, jak nejprve převést soubor tvaru do sekvence příkazů SQL a nahrát seznam příkazů SQL do databáze pomocí psql, dále:
linuxhint $ shp2pgsql -cDiI železnice.shp železnice> železnice.sqlTyp souboru tvaru: oblouk
Typ Postgis: MULTILINESTRING [2]
linuxhint $
linuxhint $ psql -f železnice.sql
Obrázek níže ukazuje výstup, který se vytiskne na obrazovku, jakmile nahrajete data.
Nyní je služba PostgreSQL / PostGIS k vašim službám a je připravena přijímat vaše dotazy SQL. Například pgadmin vám umožní pohled pod kapotu během několika minut. Níže uvedený obrázek to ukazuje pro nahraná data. Sloupec zcela vpravo má geometrický typ MultiLineString.
Závěr
Nastavení PostgreSQL / PostGIS není raketová věda. Pomocí výše vysvětlených kroků to můžete udělat za méně než hodinu a rychle dosáhnout výsledků. Et voila!
Odkazy a reference
- Desktopové prostředí XFCE
- PostgreSQL
- PostGIS
- Shahriar Shovon: Instalace PostgreSQL na Debian 10, Linuxhint
- Geofabrik, soubory ke stažení
- Shapefile
- Šéfkuchař
- Redis
- SQLite
- UNICEF
- Debian GNU / Linux Buster, Debian Wiki
- Creative Commons
- Skype
- BMW Group
- Institute Géographique National (IGN)