Я пытаюсь использовать ogr2ogr для загрузки шейп-файла в удаленную установку PostGres. Когда я запустил эту команду:
celenius:~ celenius$ ogr2ogr -f PostgreSQL PG:"host=255.34.00.00 user=postgres dbname=mydb password=***" Dropbox/data/roads.shp;
Я получил следующее сообщение об ошибке:
Unable to find driver `PostgreSQL'.
The following drivers are available:
-> `ESRI Shapefile'
-> `MapInfo File'
-> `UK .NTF'
...
-> `SVG'
-> `CouchDB'
-> `Idrisi'
-> `ARCGEN'
-> `SEGUKOOA'
-> `SEGY'
(Я опустил некоторые драйверы, так как они не актуальны). Есть ли способ, которым я могу обновить ogr2ogr, чтобы включить PostgreSQL? Я использую Mac с ОС 10.7.4
brew install gdal --with-postgresql
Избавьте себя от боли и используйте упакованные двоичные файлы / фреймворки Kyngchaos для OSX. GDAL-Complete - это то, что вы ищете.
Другой вариант - использовать HomeBrew .
источник
which ogrinfo
возвращается/usr/local/bin/ogrinfo
. Я установил GDAL и другие из KyngChaos перед установкой QGis.предполагая, что вы скомпилировали gdal из исходного кода, просто включите --with-pg = / path / to / pg_config при настройке gdal.
РЕДАКТИРОВАТЬ: Обратите внимание, что он
pg_config
должен находиться в том же каталоге, что и другие ваши двоичные файлы PostgreSQL, напримерpsql
, и т. Д. Также обратите внимание, что это подробно из ответа пользователя ниже: вы должны убедиться, что установлена соответствующая версия postgresql-server-dev (например, в Ubuntu.apt list --installed | grep postgresql-server-dev
если не найдено, используйтеapt-cache search postgresql-server-dev
и установите соответствующий пакет сsudo apt-get install postgresql-server-dev
).источник
./configure
выводе, но пытаетсяogr2ogr -f PostgreSQL
датьERROR 1: Unable to find driver 'PostgreSQL'
. Кроме того, нетPostgreSQL
вogrinfo --formats
Я получил это же сообщение в Windows.
Он жаловался на тип кавычек (одинарные или двойные), которые я использовал вокруг строки подключения. Переключение кавычек решило проблему.
источник
Существует вероятность, что вы можете увидеть что-то вроде «Поддержка PostgreSQL: нет», даже если вы настроили источник с помощью «--with-pg = / path / to / pg_config» ... в этом случае запустите sudo apt- установите postgresql-server-dev-all и повторите попытку.
источник
Из прочтения документа ogr2ogr Vector , похоже, вам нужно установить клиентскую библиотеку PostgreSQL (libpq).
Этот похожий вопрос, кажется, дает некоторое представление о решении аналогичной проблемы, только с привязками Python.
источник