PostGIS je software s otevřeným zdrojovým kódem, který umožňuje objektům „Geografických informačních systémů“ přístup do objektově relační databáze PostgreSQL. PostGIS je speciálně navržen pro použití odlehčených geometrií, které pomáhají serverům zvýšit množství dat migrovaných z fyzického diskového úložiště do RAM. Jedná se o rozšíření PostgreSQL používané k ukládání prostorových dat pomocí geometrie a geografických datových typů. Používá se také k provádění některých speciálních dotazů k určení oblasti, vzdálenosti, délky, obvodu a vytváření indexů vašich dat.
V tomto tutoriálu se naučíme, jak nainstalovat PostGIS na Debian 10.
Předpoklady
- Server se systémem Debian 10.
- Na vašem serveru je nastaveno heslo uživatele root.
Začínáme
Než začnete, je dobré aktualizovat balíček vašeho systému na nejnovější verzi. Můžete je aktualizovat pomocí následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Jakmile jsou všechny balíčky aktualizovány, restartujte systém, aby se změny projevily.
Instalovat PostgreSQL
Než začnete, budete muset do svého systému přidat úložiště PostgreSQL.
Nejprve si stáhněte a přidejte klíč GPG pomocí následujícího příkazu:
apt-get install gnupg2 -y
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
Dále přidejte úložiště PostgreSQL pomocí následujícího příkazu:
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
Dále aktualizujte úložiště a nainstalujte server PostgreSQL pomocí následujícího příkazu:
apt-get update -y
apt-get install postgresql-11 -y
Po dokončení instalace můžete zkontrolovat stav PostgreSQL serveru pomocí následujícího příkazu:
systemctl status postgresql
Měli byste získat následující výstup:
? postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago Main PID: 2665 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2359) Memory: 0B CGroup: /system.slice/postgresql.service Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS... Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.
Instalovat PostGIS
V tomto okamžiku je PostgreSQL server nainstalován a spuštěn. Nyní je čas nainstalovat PostGIS.
Můžete jej nainstalovat jednoduše spuštěním následujícího příkazu:
apt-get install postgis postgresql-11-postgis-2.5 -y
Po instalaci můžete přejít k dalšímu kroku.
Aktivovat PostGIS na PostgreSQL
Dále budete muset vytvořit PostgreSQL databázi a uživatele a aktivovat funkce PostGIS v databázi, než budete moci ukládat prostorová data.
Nejprve se přihlaste do PostgreSQL pomocí následujícího příkazu:
su - postgres
Dále vytvořte uživatele a databázi pomocí následujícího příkazu:
[email protected]:~$ createuser postgisuser
[email protected]:~$ createdb postgis_db -O postgisuser
Dále se připojte k databázi, kterou jste právě vytvořili:
[email protected]:~$ psql -d postgis_db
Měli byste získat následující výstup:
psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1)) Type "help" for help.
Dále povolte rozšíření PostGIS v databázi:
postgis_db=# CREATE EXTENSION postgis;
Dále ověřte, zda PostGIS funguje nebo ne:
postgis_db=# SELECT PostGIS_version();
Měli byste získat následující výstup:
postgis_version --------------------------------------- 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 (1 row)
Nakonec ukončete prostředí PostgreSQL pomocí následujícího příkazu:
postgis_db=# \q
[email protected]:~$ exit
Optimalizace PostgreSQL pro PostGIS
PostgreSQL je navržen pro běh s malými databázemi až po velké databáze. Databázové objekty PostGIS jsou ve srovnání s textovými daty velké. Budete tedy muset optimalizovat PostgreSQL, aby lépe fungoval s objekty PostGIS.
Server PostgreSQL můžete optimalizovat úpravou souboru /etc/postgresql/11/main/postgresql.conf :
nano /etc/postgresql/11/main/postgresql.conf
Změňte následující parametr v závislosti na operační paměti vašeho systému:
#This value should be around 75% of your server’s RAM. shared_buffers = 1500M #This allows PostgreSQL to cache more data in memory while it performs its sorting work_mem = 64MB #A checkpoint is a periodic action that stores information about your system checkpoint_segments = 6 #This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk. random_page_cost = 2.0
Po dokončení uložte a zavřete soubor. Poté restartujte službu PostgreSQL, aby se změny implementovaly.
systemctl restart postgresql
Závěr
Gratulujeme! úspěšně jste nainstalovali PostGIS na PostgreSQL server. Nyní máte databázi nakonfigurovanou pro prostorové dotazy. Pro více informací navštivte PostGIS dokumentaci na PostGIS.