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 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.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;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.SQLPoniż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.
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!