Я следую инструкциям по установке pgrouting. Тем не менее, я не получил роль, когда он говорит
Запустите pgAdmin и создайте новую базу данных на основе вашего шаблона PostGIS
Где я могу получить этот шаблон postgis? Я знаю, что установил PostGIS, используя homebrew. Но я не смог найти шаблон. Я бегу MacOS сейчас.
Ответы:
Новый метод с PostgreSQL 9.1
Благодаря совету RK ниже, я посмотрел этот учебник и обнаружил, что для PostgreSQL 9.1 все, что вам нужно сделать, это добавить расширения
postgis
иpostgis_topology
в существующую базу данных, используя контекстные меню pgAdmin. Чтобы создать шаблон postgis, я создал новую базу данных с именем,template-postgis
а затем добавил эти расширения. Затем я создал свою другую базу данных, используя этот шаблон. При использованииpg_dump
я обнаружил, что размер экспорта был намного меньше, так как он, кажется, просто включает эти строки, а не выводит функции расширения:Старый избыточный метод:
Я использовал файлы .sql здесь:
Кроме того, я получил эту ошибку, когда импортировал существующую базу данных PostGIS в новую базу данных, созданную из этого шаблона:
Поэтому я следовал приведенным здесь инструкциям и использовал их
ON_ERROR_ROLLBACK=on
для настройки шаблона после создания пустой базы данных с именем "template_postgis":И затем импортировал мою резервную копию БД, например:
Еще более старый метод:
Я сделал это:
Путь к
postgis--2.0.1.sql
будет отличаться в зависимости от ваших настроек.источник
Если вы используете PostgreSQL 9.1+, вам не нужно беспокоиться о базе данных шаблонов . Просто создайте базу данных и затем в представлении SQL в pgAdmin введите и запустите
Это позволит пространственно включить вашу базу данных.
источник
CREATE EXTENSION postgis_topology;
CREATE EXTENSION
нужны привилегии суперпользователя, поэтому создание / использование шаблона может быть очень хорошей идеей.на самом деле это основа постгисной установки.
если у вас есть шаблон postgis, вы можете создать новую базу данных из него:
если у вас его нет, вы можете сделать это следующим образом:
Вы можете использовать bash-скрипты Debian / Ubuntu - create_template_postgis-debian.sh, здесь
я надеюсь, что это поможет вам ...
источник
postgres
нет прав на использование терминала, и в этом случаеsudo su postgres
команда будет молча терпеть неудачу. Чтобы обойти это, вы можете предшествовать всем этим командам,sudo -u postgres
чтобы запускать команду от имени пользователя postgres без переключения на пользователя postgres.Насколько я помню, для семинара есть сценарий для создания этих шаблонных баз данных. Это также доступно здесь: https://github.com/pgRouting/pgrouting-contrib/blob/master/scripts/create_templates.sh
В конце концов вам нужно кое-что изменить, потому что это было написано для работы в Debian / Ubuntu. Но вы можете просто выбрать то, что вам нужно.
источник
Я использую этот сценарий bash для создания новой базы данных с включенной функцией postgis и именем, указанным в stdin.
Postgres 9,3
PostGIS 2.1.3
источник