Недавно я создал базу данных PostGIS 2.0.3 на сервере базы данных PostgreSQL 9.1, используя pgAdmin. Обнаружено, что расширение «PostGIS» установлено в «Расширения». Все пространственные функции были добавлены в «публичную» схему. Все в порядке.
Теперь я хочу сохранить все свои данные в новой схеме под названием «gc». Однако как я могу сделать все пространственные функции установленными в этой схеме "gc"? В схеме нет ни одной функции. Однако когда я попытался импортировать / создать новый класс объектов из ESRI ArcCatalog 10.1 в этой схеме, это сработало! Класс объектов может быть импортирован и отображен в QGIS.
Может ли кто-нибудь дать мне совет или идею по этому поводу?
Я новичок в PostgreSQL и PostGIS.
postgis
postgresql
postgis-2.0
alextc
источник
источник
Ответы:
Вот примеры команд для установки расширения PostGIS в
gc
схему:Вот примеры команд для перемещения PostGIS и его объектов в новую схему для версии 2.4.4 PostGIS, если вы уже установили ее:
Это не строго необходимо; просто полезно:
источник
Кенни Эвитт уже объяснил самые важные вещи. Тем не менее, вот дополнительная информация:
Postgresql имеет базы данных, табличные пространства и схемы, и невозможно выполнять соединения из одной базы данных в другую, поскольку они строго разделены. Одна база данных может иметь более одной схемы, и можно объединить что-то из одной схемы в другую. Для получения дополнительной информации, посмотрите на документы:
Другая возможность загрузить PostGIS в вашу схему gc:
Я не являюсь экспертом ни по Arc Catalog, ни по pgadmin, но я предполагаю, что произошла одна из следующих трех возможностей:
В psql вы можете сделать это, набрав:
Если вы видите это, PostGIS был установлен как расширение. Третья возможность состоит в том, что ArcCatalog делает что-то вроде этого:
В этом случае вам тоже просто повезло. Но, возможно, в конце концов ArcCatalog сделает что-то более сложное ...
источник
вот ваше решение:
Если вы уже установили расширение postGIS в общедоступной схеме и хотите перейти в gc, напишите следующий код:
источник