postgisインストールでshp2pgsqlが見つかりません


12

このガイドに従ってpostgisをインストールしました。大丈夫。

SELECT postgis_full_version();
"POSTGIS="2.1.7 r13414" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.1, released 2013/08/26" LIBXML="2.9.1" LIBJSON="UNKNOWN" TOPOLOGY RASTER"

ただし、次のようにshp2pgsqlがありません/usr/lib/postgresql/9.4/bin

foo@bar:/usr/lib/postgresql/9.4/bin$ ls
clusterdb   initdb             pg_dump         pg_standby      psql
createdb    oid2name           pg_dumpall      pg_test_fsync   reindexdb
createlang  pg_archivecleanup  pg_isready      pg_test_timing  vacuumdb
createuser  pg_basebackup      pg_receivexlog  pg_upgrade      vacuumlo
dropdb      pgbench            pg_recvlogical  pg_xlogdump
droplang    pg_controldata     pg_resetxlog    postgres
dropuser    pg_ctl             pg_restore      postmaster

なぜこれが起こるのですか?どうすればインストールできますか?


Linuxについてはわかりませんが、Windowsではshp2pgsqlはpostgreis \ binではなくPostGis \ binにあります。
Michael Stimson

回答:


17

また、OPのPostgreSQLとPostGIS のインストール方法に従っていました。

sudo apt-get install postgresql-9.4-postgis-2.1 pgadmin3 postgresql-contrib-9.4

データベースでPostGIS拡張機能を有効にしましたが、有効にするまで機能しませんでしshp2pgsql

sudo apt-get install postgis

ページの下部にリストされています。なぜpostgresql-9.4-postgis-2.1含まれないのかshp2pgsql、単純に含まれるのかpostgis…。しかし、PostgreSQL、PostGIS、およびshp2pgsqlすべては現在正常に動作しています。


同じことがFedoraにも
当てはまります-TheSteve0

8

Linuxにpostgisをインストールする場合、postgisだけではshp2pgsql実行可能ファイルがインストールされないため、必ずクライアントもインストールしてください。

yum install postgis2_94
yum install postgis2_94-utils
yum install postgis2_94-client

クライアントをインストールするまで、/ etc / alternatives / postgis-shp2pgsqlを指すリンクが/ usr / bin /にあります。これは、クライアントのインストールによって実行可能ファイルが/usr/pgsql-9.4/binに配置されるまで、単なる空のリンクです。

これがお役に立てば幸いです。数か月前にOPが質問をしてくれたことに感謝し、より早く解決策を見つけられることを望みます。


3

通常、shp2pgsqlバイナリは、/usr/bin/shp2pgsqlあなたが言及した方法のようなパッケージでインストールするときにあります。

次のように入力しましたshp2pgsql、コマンドラインに?通常、そのまま使用できます。

そうでない場合、

  • あなたがやったのupdatedb(インデックスファイルへのコマンドラインが)に続くlocate shp2pgsql本当のバイナリパスを見つけるには?

  • を使用してコマンドラインからの出力をエコーし​​ましたecho $PATHか?そして、出力は何ですか?


コマンドsudo locate shp2pgsqlが空です。コマンドecho $PAHTリターン/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Overflow012

sudo locate shp2pgsqlが空なので、shp2pgsql正しくインストールされていないようです(または、忘れていましたsudo updatedb)。追加のリポジトリとデフォルトのパッケージ名が同じ場合、とのsudo apt-get install postgis両方shp2pgsqlをインストールする必要がありshp2pgsql-guiます。この回答は、Debianベースのディストリビューション(Debian、Mint、またはUbuntu)を使用していると思われるという事実に基づいています
-ThomasG77

私が実行sudo shp2pgsqlしてsudo apt-get install postgisますが、エラーを保持しますfoo@bar:/usr/lib/postgresql/9.4$ shp2pgsql bash: /usr/local/bin/shp2pgsql: No existe el archivo o el directorio
Overflow012

0

最初に更新してから、そこから先に進んでください
sudo apt-get update

馬鹿げているように見えますが、psqlとpostgisのインストールに問題があり、更新するとすべてがクリアされました。

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