PostgreSQL

Nastavení PostgreSQL s PostGIS na Debian GNU / Linux 10

Nastavení PostgreSQL s PostGIS na Debian GNU / Linux 10
Jak symbolizuje modrý slon se svým disktinivním symbolem projektu, PostgreSQL patří k nejstabilnějším Open Source SQL Database Management Systems (DBMS), jaké kdy byly: o slonovi je dobře známo, že má skvělou paměť a nikdy nezapomene na to, co pozoroval.

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 postgresql

Pomocí 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 konec
služ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 postgres
Nové 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í linuxhint
Bude 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 linuxhint

Už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 postgis

Jednoduchý recept na kuchaře by byl tento:

balíček 'postgis' udělat
akce: 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.sql
Typ 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
Jak používat Xdotool ke stimulaci kliknutí myší a klávesových zkratek v systému Linux
Xdotool je bezplatný a otevřený nástroj příkazového řádku pro simulaci kliknutí myší a stisknutí kláves. Tento článek se bude věnovat krátkému průvodc...
Top 5 ergonomických produktů pro počítačové myši pro Linux
Způsobuje dlouhodobé používání počítače bolest zápěstí nebo prstů? Trpíte ztuhlými klouby a neustále si musíte třást ruce? Cítíte pálivou bolest pokaž...
Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...