Ubuntu Server 14.04でも同じ問題が発生しました。をpostgis
使用して、公式のUbuntuリポジトリから拡張機能をインストールしましたapt-get install postgis
。
その後、find /usr -name postgis.control
結果は返されませんでした。
extension/postgis.control
postgis-scriptsがインストールされていないため、理由はインストールされませんでした。
$ aptitude search postgis
i libpostgis-java - Geographic objects support for PostgreSQL -- JDBC support
i postgis - Geographic objects support for PostgreSQL
p postgis:i386 - Geographic objects support for PostgreSQL
i postgis-doc - Geographic objects support for PostgreSQL -- documentation
i postgresql-9.3-postgis-2.1 - Geographic objects support for PostgreSQL 9.3
p postgresql-9.3-postgis-2.1:i386 - Geographic objects support for PostgreSQL 9.3
i postgresql-9.3-postgis-2.1-scripts - PostGIS for PostgreSQL 9.3 -- scripts -- dummy package
i postgresql-9.3-postgis-scripts - Geographic objects support for PostgreSQL 9.3 -- scripts
解決策はそれをインストールすることです。
debianライクなディストリビューションの場合:
apt-get install postgis*
aptitudeパッケージマネージャーは、インストールする正しいパッケージバージョンを自動的に決定します。postgis-docもインストールされます。
編集
コメントで気づいた一部の人々のように、それpostgis*
は動作させるために厳密に必要ではないいくつかのパッケージをインストールするため、必須ではありません。
必要なパッケージはpostgis
およびpostgresql-9.x-postgis-scripts
メタパッケージです。彼らはあなたのシステムに合った正しい実際のバージョンを選択します。したがって、必要なパッケージをインストールするコマンドは次のとおりです。
$ sudo apt-get install postgis postgresql-9.3-postgis-scripts
のためにpostgresql-9.3
。Ubuntu 16.04
が実行されるpostgresql-9.5
ため、コマンドは次のようになります。
$ sudo apt-get install postgis postgresql-9.5-postgis-scripts
次のコマンドを実行して、操作の成功を確認できます。
find /usr -name postgis.control
私のサーバーでは、次の値が返されます。
/usr/share/postgresql/9.3/extension/postgis.control
これで、postgresサーバー上の任意のデータベースで拡張機能を有効にできます。
- スーパーユーザーでdbに接続します(デフォルトではpostgres)
- 走る
CREATE EXTENSION postgis;
これで、パブリックスキーマにすべてのpostgisオブジェクトと関数が含まれます。