ogr2ogrを更新してPostgreSQLドライバーを含めるにはどうすればよいですか?


28

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を含める方法はありますか?OS 10.7.4を搭載したMacを使用しています

回答:


25

Homebrewを使用する場合:

brew install gdal --with-postgresql

またはgdalの古いバージョンの場合:

brew install gdal --with-postgres

既にbrewでgdalをインストールしていて、postgresqlのサポートがない場合は、

醸造アンインストールgdal


2
小さな修正:brew install gdal --with-postgresql
ベンジャミン

QGISは自作GDALで引き続き動作しますか?
シンバマング14

@Simbamangu確か:自作したばかりのパッケージマネージャで、GDALのバージョン、それが配信が同じであるので、あなたは、ソースから自分を構築することができます
アンドレアCremaschi

2
Windowsマシンでどのように進めますか?理想的にはvirtualenvを使用
RutgerH

2
Windows用のソリューションは何ですか?
デニス

5

苦痛を軽減し、OSX用のKyngchaosパッケージ化バイナリ/フレームワークを使用してください。GDAL-Completeは探しているものです。

別のオプションはHomeBrewを使用することです


私の知る限り、これは私が使用したものです。他の方法ではインストールしませんでした。
djq

このファイルは存在しますか:/Library/Frameworks/GDAL.framework/Versions/Current/Libraries/libpq.dylibおよび「which ogrinfo」コマンドは端末から何を返しますか?
ラギヤセルバーフム

which ogrinfoを返します/usr/local/bin/ogrinfo。QGisをインストールする前に、KyngChaosからGDALなどをインストールしました。
djq

私が言及したlibpqファイルはその場所に存在しますか?
ラギヤセルバーフム

1
libpq.dylibが存在しない場合(PostgreSQLクライアントライブラリ)、OGRライブラリはロードされません。
ラギヤーサーバーフム

4

ソースからgdalをコンパイルしたと仮定すると、gdalを設定するときに--with-pg = / path / to / pg_configを含めるだけです。

./configure -with-pg=/path/to/pg_config ...

./make clean

./make

./make install

編集:などpg_config、他のPostgreSQLバイナリと同じディレクトリにある必要があることに注意してくださいpsql。また、以下のuser259060の答えからのこの詳細に注意してください。適切なpostgresql-server-devバージョンがインストールされていることを確認してくださいapt list --installed | grep postgresql-server-dev見つからない場合はapt-cache search postgresql-server-dev、対応するパッケージを使用してインストールしますsudo apt-get install postgresql-server-dev)。


./configure出力に「PostgreSQLサポート:はい」が表示されますが、を表示しようとしていogr2ogr -f PostgreSQLますERROR 1: Unable to find driver 'PostgreSQL'。また、何PostgreSQLでないogrinfo --formats
adamczi

インストール後にldconfigを実行しましたか?
dmci

1
エラーを処理する必要があるpostgresql-server-devのインストールに関する回答の編集を参照してください。
thayer

2

Windowsでも同じメッセージが表示されました。

接続文字列の周りで使用していた引用符のタイプ(シングルとダブル)について不平を言っていました。引用符を切り替えると問題が修正されました。


2

「--with-pg = / path / to / pg_config」を使用してソースを設定している場合でも、「PostgreSQLサポート:no」などが表示される可能性があります。その場合は、sudo apt-を実行します。 postgresql-server-dev-allをインストールしてから再試行してください。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.