Postępuję zgodnie z samouczkiem, aby zainstalować pgrouting. Jednak nie dostałem roli, gdy mówi
Uruchom pgAdmin i utwórz nową bazę danych w oparciu o szablon PostGIS
Gdzie mogę dostać ten szablon Postgis? Wiem, że zainstalowałem PostGIS przy użyciu homebrew. Ale nie mogłem znaleźć szablonu. Teraz uruchamiam makra.
Odpowiedzi:
Nowa metoda w PostgreSQL 9.1
Dzięki radom RK poniżej rzuciłem okiem na ten samouczek i stwierdziłem, że dla PostgreSQL 9.1 wszystko, co musisz zrobić, to dodać rozszerzenia
postgis
ipostgis_topology
istniejącą bazę danych za pomocą menu kontekstowych pgAdmin. Aby utworzyć szablon Postgis, stworzyłem nową bazę danych o nazwie,template-postgis
a następnie dodałem te rozszerzenia. Następnie utworzyłem drugą bazę danych, korzystając z tego szablonu. Podczas używaniapg_dump
zauważyłem, że rozmiar eksportu był znacznie mniejszy, ponieważ wydaje się, że zawiera on tylko te linie i nie zrzuca funkcji rozszerzenia:Stara redundantna metoda:
Skończyło się na użyciu plików .sql tutaj:
Ponadto wystąpił ten błąd, gdy zaimportowałem istniejącą bazę danych PostGIS do nowej bazy danych wykonanej z tego szablonu:
Po wykonaniu pustej bazy danych o nazwie „template_postgis” postępowałem zgodnie z instrukcjami tutaj i użyłem jej
ON_ERROR_ROLLBACK=on
do ustawienia:A następnie zaimportowałem moją kopię zapasową db, np .:
Jeszcze starsza metoda:
Ja to zrobiłem:
Ścieżka do
postgis--2.0.1.sql
będzie inna w zależności od konfiguracji.źródło
Jeśli korzystasz z PostgreSQL 9.1+, nie musisz przejmować się bazą danych szablonów . Wystarczy utworzyć bazę danych, a następnie w widoku SQL w pgAdmin, wpisać i uruchomić
Umożliwi to przestrzennie włączenie bazy danych.
źródło
CREATE EXTENSION postgis_topology;
CREATE EXTENSION
potrzebuje uprawnień administratora, więc tworzenie / używanie szablonu może być bardzo dobrym pomysłem.w rzeczywistości jest to podstawa instalacji Postgis.
jeśli masz szablon postgis, możesz utworzyć z niego nową bazę danych jako:
jeśli go nie masz, możesz to zrobić w ten sposób:
możesz użyć skryptów bash Debian / Ubuntu - create_template_postgis-debian.sh, tutaj
Mam nadzieję, że Ci to pomoże...
źródło
postgres
nie ma uprawnień do korzystania z terminala, w którym to przypadkusudo su postgres
polecenie po cichu się nie powiedzie. Aby temu zaradzić, możesz poprzedzić wszystkie te polecenia,sudo -u postgres
aby uruchomić polecenie jako użytkownik postgres bez przełączania się na użytkownika postgres.O ile pamiętam, istnieje warsztat umożliwiający utworzenie tych szablonów baz danych. Jest również dostępny tutaj: https://github.com/pgRouting/pgrouting-contrib/blob/master/scripts/create_templates.sh
W końcu musisz zmienić kilka rzeczy tu i tam, ponieważ zostało napisane do pracy dla Debian / Ubuntu. Ale możesz po prostu wybrać to, czego potrzebujesz.
źródło
Używam tego skryptu bash, aby wykonać tworzenie nowej bazy danych z włączonym postgis i nazwą podaną na stdin.
Postgres 9.3
PostGIS 2.1.3
źródło