Интернет, компьютеры, софт и прочий Hi-Tech | |||||||||||||
Избранные докиМетки (все метки)internet, it, интернет, интернет сеть, информационные технологии, ит, по, программное обеспечение, сайт, софт
Подписаться через RSS2Email.ru
Дополнительномобильные, электроника, видеокарта, СКС, AXIS, аутсорсинг, интернет, сеть, радионяни, гаджеты |
Глава 2. ИнсталляцияСодержание 2.1. ТребованияPostGIS имеет следующие требования для сборки и использования:
2.2. PostGISМодуль PostGIS является расширением бакенд-сервера PostgreSQL. Поэтому PostGIS 1.3.3SVN включает полные заголовки доступа сервера PostgreSQL в порядке компиляции. Исходный код PostgreSQL можно скачать с http://www.postgresql.org. PostGIS 1.3.3SVN может быть собран только с PostgreSQL версии 7.2.0 или более старшей. Предыдущие версии PostgreSQL не поддерживаются.
2.2.1.Создание пространственных баз данных, совместимых с PostGIS, с помощью шаблона разработкиНекоторые пакетные дистрибутивы PostGIS (особенно инсталляторы под Win32 для PostGIS >= 1.1.5) загружают функции PostGIS в шаблон базы данных template_postgis. Если в вашей инсталляции PostgreSQL содержится база данных template_postgis, то пользователи и/или приложения могут создавать пространственно-совместимые базы данных с помощью единственной команды. Заметим, что в обоих случаях пользователь базы данных должен иметь привилегию на создание новых баз данных. С помощью shell: # createdb -T template_postgis my_spatial_db С помощью SQL: postgres=# CREATE DATABASE my_spatial_db TEMPLATE=template_postgis 2.2.2. АпгрейдАпгрейд существующих пространственных баз данных может быть сложным, так как требует замены или введения новых определений объектов PostGIS. К несчастью не все определения могут быть легко заменены в существующей базе данных, поэтому лучше иногда выполнять dump/reload. PostGIS предоставляет процедуру SOFT UPGRADE для незначительных релизов и багфиксов, и процедуру HARD UPGRADE для значительных релизов. Перед попыткой апгрейда postgis-а обязательно необхлдимо сделать бэкап данных. Если вы используете pg_dump с флагом -Fc, вы должны уметь восстанавливать дамп с помощью HARD UPGRADE 2.2.2.1. Апгрейд софтаАпгрейд софта заключается в выполнении скрипта lwpostgis_upgrade.sql на вашей пространственной базе данных: $ psql -f lwpostgis_upgrade.sql -d your_spatial_database Если скрипт для апгрейда софта завершился неудачно и вы были оповещены о необходимости выполнения HARD UPGRADE, не стесняйтесь повторить попытку снова. ЗамечаниеЕсли вы не нашли файл lwpostgis_upgrade.sql, значит, вероятно, вы используете версию ниже 1.1 и должны создать этот файл самостоятельно. Это делается следующей командой: $ utils/postgis_proc_upgrade.pl lwpostgis.sql > lwpostgis_upgrade.sql 2.2.2.2. Апгрейд железаПод HARD UPGRADE мы имеем в виду полный dump/reload баз данный с включенным postgis. Вы нуждаетесь в HARD UPGRADE, когда изменяются встроенные объекты postgis или когда невозможен SOFT UPGRADE. В приложении Примечания к релизам сообщается, необходим ли вам dump/reload (HARD UPGRADE) для перехода на тот или иной релиз. PostGIS предоставляет полезный скрипт для востановления дампа, созданного коммандой pg_dump -Fc. Он является экспериментальным, и переназначение его вывода в файл может помочь в разрешении проблем. Это делается так: Пусть база данных, которую вы хотите проапгрейдить, называется "olddb". Создайте ее дамп "custom-format". $ pg_dump -Fc olddb > olddb.dump Восстановим дамп после контекстуального апгрейда postgis-а в новую базу данных. Новая база данных не существует. postgis_restore принимает параметры createdb после имени файла с дампом, и это может быть использовано, например, если вы используете нестандартную кодировку символов в своей базе данных. Давайте назовем эту базу "newdb" и зададим на ней кодировку символов UNICODE: $ sh utils/postgis_restore.pl lwpostgis.sql newdb olddb.dump -E=UNICODE > restore.log Убедитесь, что все объекты восстанавливаемого дампа были реально восстановлены и не конфликтуют с определениями из lwpostgis.sql. $ grep ^KEEPING restore.log | less Если апгрейдится PostgreSQL < 8.0 на >= 8.0, вы можете удалить столбцы attrelid, varattnum и stats в таблице geometry_columns, которые больше не нужны. Но их сохранение также безвредно. УДАЛИТЕ ИХ, КОГДА ОНИ ДЕЙСТВИТЕЛЬНО НАЧНУТ МЕШАТЬ! $ psql newdb -c "ALTER TABLE geometry_columns DROP attrelid" $ psql newdb -c "ALTER TABLE geometry_columns DROP varattnum" $ psql newdb -c "ALTER TABLE geometry_columns DROP stats" Таблица spatial_ref_sys восстанавливаектся из дампа для обеспечения сохранности пользовательских дополнений, но новый дистрибутив, возможно, модифицирует ее. Поэтому вам следует сделать бэкап ее содержимого, удалить таблицу и заново создать. Если вы создавали дополнения, думаем, что вы сможете забэкапить их перед апгрейдом таблицы. Их замена совершается так: $ psql newdb newdb=> drop spatial_ref_sys; DROP newdb=> \i spatial_ref_sys.sql 2.2.3. Обычные проблемыЕсть несколько вещей, которые могут неожиданно помешать вашей инсталляции или апгрейду.
Также проверьте, что внесли необходимые изменения в начало Makefile.config. Они включают:
2.3. JDBCРасширения JDBC предоставляют внешним типам PostGIS соответствующие объекты Java. Эти объекты могут быть использованы для написания Java-клиентов, совершающих запросы к базе данных PostGIS, вытягивающих из нее или вычисляющих данные ГИС.
2.4. Загрузчик/дамперЗагрузчик данных и дампер автоматически собирается и инсталлируется как часть сборки PostGIS. Собрать и инсталлировать его можно так: # cd postgis-1.3.3SVN/loader # make # make install Загрузчик вызывается как shp2pgsql и конвертирует файлы ESRI Shape в соответствующий SQL для загрузки в PostGIS/PostgreSQL. Дампер вызывается как pgsql2shp и конвертирует таблицы (или запросы) в файлы ESRI Shape. Более подробная документация доступна в онлайн-хелпе и как страницы мануала.
Последнее редактирование: 2011-01-27 07:12:35 Метки материала: postgis, gis, postgresql, гис, бд, базы данных, геоинформационные системы, установка по Оставьте, пожалуйста, свой комментарий к публикации |
||||||||||||
© 2007-2012, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.