Konfigurowanie PostgreSQL z PostGIS na Debian GNU/Linux Top 10

Konfigurowanie PostgreSQL z PostGIS na Debian GNU/Linux Top 10
Zgodnie z symbolizacją niebieskiego słonia z jego skromnym symbolem projektu, PostgreSQL należy do najbardziej stabilnych systemów zarządzania bazą danych SQL open source (DBMS): słonia jest znana z doskonałej pamięci i nigdy nie zapomina, co zaobserwował.

Dostępne od ponad 20 lat, PostgreSQL udowodnił swoją niezwykłą niezawodność w przypadkach użycia, od małych do ogromnych zestawów danych. Lista usatysfakcjonowanych użytkowników komercyjnych i niekomercyjnych jest dość długa, a między innymi obejmuje Fundusz Dzieci ONZ (UNICEF), Archiwum Creative Commons, Skype i BMW Group.

Wbudowany model zarządzania transakcjami, a także zestaw geometrycznych typów danych pomogły wyróżnić oprogramowanie na podstawie innych wydarzeń, takich jak MySQL/MariaDB, Redis lub SQLite . W tym artykule skupiamy się na konfiguracji PostgreSQL 11.5 w połączeniu z postgis 2.5 .

PostGIS to przestrzenne rozszerzenie PostgreSQL, które dodaje zarówno funkcje geometryczne, jak i funkcje geograficzne PostgreSQL. Mówiąc po prostu, te przestrzenne tytuł danych działają jako kształty, i zarówno abstrakcyjne, jak i kapsułkowe struktury przestrzenne, takie jak granica i wymiar. Między innymi są nowo dostępne danych Punkt, Powierzchnia, I Krzywa.

Jednym z najwybitniejszych użytkowników PostGIS jest Institute Géographique National (IGN) z Francji, który gromadzi, integruje, zarządza i dystrybutuje informacje geograficzne odniesienia dla całego kraju. Od lipca 2006 r. Postgis jest w dużej mierze. Do tej pory baza danych IGN zawiera ponad 100 milionów obiektów przestrzennych.

Skonfigurujemy PostgreSQL/PostGIS na „Buster” Debian GNU/Linux 10 za pomocą środowiska stacjonarnego XFCE .

Konfigurowanie PostgreSQL

Konfigurowanie PostgreSQL DBMS na Debian GNU/Linux wymaga jedynie umiarkowanego poziomu wiedzy na temat administracji systemu. Wyzwaniem jest właściwa kolejność wymaganych kroków (patrz pełna lista z obrazami). Jak w przypadku każdej innej dystrybucji Linux, istnieją ustawienia domyślne i nazwy pakietów, które mogą być nieco kłopotliwe. Nie jęczymy i po prostu zaczynamy.

Instalowanie PostgreSQL jako oprogramowania

Krok pierwszy to instalacja pakietu PostgreSQL. W terminalu możesz to zrobić w następujący sposób:

# apt-get instaluj postgreSQL

Korzystanie z systemu zarządzania konfiguracją szefa kuchni, podstawowy przepis, który prowadzi do tego samego wyniku, zawiera tylko następujące wiersze:

pakiet „PostgreSQL” do działania: instalacja końca
Service „PostgreSQL” do działania: [: Włącz,: start] koniec

Te linie prowadzą do instalacji pakietu PostgreSQL (plus zależności pakietu) i włączanie zgodnie z usługą. Aby sprawdzić usługę PostgreSQL pod kątem uruchomienia, to polecenie powinno dać ci pozytywne wyjście, następnie:

# Status usługi PostgreSQL

Wykonanie konfiguracji konta administratora

Użytkownicy Postgres zarządza bazami danych PostgreSQL. Krok drugi to sfinalizowanie tego konta i zaczyna od dodania hasła do swoich poświadczeń w następujący sposób:

# Passwd Postgres
Nowe hasło:
Wpisz ponownie nowe hasło:
PASSWD: Hasło pomyślnie zaktualizowane
#

Logowanie jako Postgres użytkownika pozwala zapewnić innym użytkownikom dostęp do bazy danych PostgreSQL. Następnie musimy dodać użytkownika w kroku trzecim. Należy pamiętać o tym, że zarówno system Linux, jak i PostgreSQL utrzymują osobno baz danych użytkowników. Dlatego musisz upewnić się, że w twoim systemie istnieje zwykły użytkownik Linux o tej samej nazwie, zanim włączysz dostęp do PostgreSQL.

Dodanie konta użytkownika

Krok czwarty jest wykonywany jako postgres użytkownika. Zmień z głównego na postgres i utwórz nowe konto dla użytkownika Linuxhint w bazie danych PostgreSQL za pomocą tego polecenia:

Postgres $ createuser --interactive Linuxhint
Czy nowa rola będzie superuser? (y/n) n
Czy nowa rola będzie mogła tworzyć bazy danych? (y/n) n
Czy nowa rola pozwoliła na tworzenie nowych ról? (y/n) n
Postgres $

Następnie ustaw hasło dla nowo utworzonego użytkownika Linuxhint. Zaloguj się do powłoki bazy danych za pomocą PSQL i ustaw nowe hasło za pomocą hasła Command \. Po tym typu w \ q w celu opuszczenia powłoki bazy danych i powrotu do powłoki w terminalu:

Postgres $ PSQL PSQL (11.5 (Debian 11.5-1+Deb10u1)) Wpisz „Pomoc” w celu uzyskania dalszej pomocy.
Postgres =# Linuxhint Wprowadź nowe hasło: Ponownie ponownie hasło: postgres =# postgres $

Krok piąty to tworzenie oddzielnej bazy danych dla użytkownika Linuxhint. Aby to zrobić, wpisz polecenie utworzone jako postgres użytkownika:

Postgres $ CreedB Linuxhint

Teraz użytkownik Linuxhint ma własną bazę danych i może z nią pracować zgodnie z jego potrzebami.

Dodawanie postgis

Krok szósty składa się z instalacji pakietu postgis. Jak zrobione wcześniej dla PostgreSQL, można to zrobić w następujący sposób za pomocą apt-get:

# apt-get install PostGIS

Alternatywnie, prosty przepis na szefa kuchni byłby ten:

pakiet „postgis” do
Działanie: Zainstaluj
koniec

Pakiet postgis ma zależność od pakietu Debiana PostgreSQL-11-Postgis-2.5 skryptów (automatycznie zainstalowane), które łączą PostGIS z PostgreSQL i eliminuje szereg ręcznych kroków potrzebnych w innych rozkładach. Bez względu na to, który z dwóch metod instalacji wybierzesz - apt -get lub szef kuchni - zarządzanie pakietami Debian upewni się, że wszystkie pakiety zależne są instalowane i skonfigurowane poprawnie.

Krok siódmy to włączenie rozszerzenia postgis. Jak wyjaśniono w dokumentacji PostGIS, nie instaluj go w bazie danych o nazwie Postgres, ponieważ ten jest używany do wewnętrznych danych z danych PostgreSQL i włącz ją tylko w każdej bazie danych użytkowników, w. Zaloguj się jako użytkownik postgres, połącz się z żądaną bazą danych i utwórz dwa rozszerzenia postgis i postgis_topologii, jak pokazano poniżej. Polecenie \ C łączy Cię z żądaną bazą danych, a Utwórz rozszerzenie udostępnia pożądane rozszerzenie:

Postgres =#

Teraz jesteś połączony z bazą danych „Linuxhint” jako użytkownika „Postgres”.

Linuxhint =# Utwórz rozszerzenie postgis;
Utwórz rozszerzenie
Linuxhint =# Utwórz rozszerzenie postgis_topologii;
Utwórz rozszerzenie
Linuxhint =#

Krok siódmym jest walidacja, że ​​aktywacja rozszerzenia zakończyła się powodzeniem. Polecenie PostgreSQL \ DX wymienia instalowane rozszerzenia, a zarówno postgis, jak i postgis_topologia powinny znajdować się na liście, teraz.

PostGIS również zapewnia inne rozszerzenia. Zalecamy zainstalowanie tylko tego, czego potrzebujesz. Więcej informacji na temat rozszerzeń można znaleźć w dokumentacji postgis.

Dodawanie danych

Po powodzeniem skonfigurowanie postgis nadszedł czas, aby dodać tabele i wypełnić je danymi. Całkiem wiele danych geograficznych jest dostępnych online za darmo, na przykład z Geofabrik. Dane są dostarczane jako pliki kształtu, które są wspólnym formatem danych wektorowych dla oprogramowania GIS.

Po pobraniu pliku kształtu załaduj zawartość pliku kształtu do PostGIS za pomocą specjalnego narzędzia linii dowodzenia SHP2PGSQL. Poniższy przykład pokazuje, jak przekonwertować plik kształtu na sekwencję poleceń SQL, najpierw i przesyłać listę poleceń SQL do bazy danych za pomocą PSQL, Dalej:

Linuxhint $ SHP2PGSQL -CDII RAILAY.SHP Railway> Railway.SQL
Kształt File Typ: ARC
Typ postgis: Multilinestring [2]
Linuxhint $
Linuxhint $ PSQL -F Railway.SQL

Poniższy rysunek pokazuje dane wyjściowe, które jest wydrukowane na ekranie, gdy tylko przesłasz dane.

Teraz PostgreSQL/PostGIS jest do Twojej usługi i gotowy do otrzymania zapytań SQL. Na przykład pgadmin pozwala spojrzeć pod maską w ciągu kilku minut. Poniższy rysunek pokazuje to dla przesłanych danych. Kolumna z prawej strony ma wielopoziomowy typ geometryczny.

Wniosek

Konfigurowanie PostgreSQL/PostGIS nie jest nauką rakietową. Z wyjaśnionymi powyżej krokami możesz to zrobić w mniej niż godzinę i szybko uzyskać wyniki. Gotowe!

Linki i referencje
  • Środowisko pulpitu XFCE
  • PostgreSQL
  • Postgis
  • Shahriar Shovon: Instalowanie PostgreSQL na Debian 10, Linuxhint
  • Geofabrik, pobieranie
  • Plik kształtu
  • Szef kuchni
  • Redis
  • Sqlite
  • UNICEF
  • Debian GNU/Linux Buster, Debian Wiki
  • Creative Commons
  • Skype
  • Grupa BMW
  • Instytut Géographique National (IGN)