2016-04-06 4 views
5

これは既知の問題だと思いますが、postgresql-9.4-postgis-2.1を削除したスクリプトを使用しています。 DebianではこのSQLエラーを取り除くことができません。

- Remove new unwanted postgresql-9.5-postgis-2.2 package installed 
- Reinstalling postgresql-9.4-postgis-2.1, postgresql-9.4-postgis-scripts and postgis 
- Using SQL: ALTER EXTENSION postgis UPDATE TO '2.1.4' --under postgres user 
- Using SQL: ALTER EXTENSION postgis_topology UPDATE TO '2.1.4' --under postgres user 

そしてSELECT * FROM pg_available_extensions;戻り

は、私は次のことをやった«$ libdirという/ PostGISの-2.1»そのようなファイルやディレクトリ

なしにファイルにアクセスできません。

[...] 
postgis 2.1.4 2.1.4 PostGIS geometry, geography, and raster spatial types and functions. 

しかし、geを使用するテーブルのようなオブジェクトにアクセスするとこのメッセージが表示されるometryタイプ。

答えて

5

最後の問題は、ソースたPostGIS 2.2.2(またGDAL、PROJ4とGEOSが必要であること)とDROP EXTENSION postgis;以来

CREATE EXTENSION postgis; 
CREATE EXTENSION postgis_topology; 

を発行すると、PostGISにはもう存在していなかったと言われますからをコンパイルする "解決"。

そして最後に:

ALTER EXTENSION postgis UPDATE TO '2.2.2'; 
ALTER EXTENSION postgis_topology UPDATE TO '2.2.2'; 

は、PostgreSQL 9.4から私のGEOMデータや機能への再アクセスを手に入れました。ソースからコンパイルすると、postgresqlの変数パスが正しく更新され、/usr/lib/postgresql/9.4/lib/postgis-2.2.soがインストールされていたようです(postgis-2.1.soも同様です)。 apt-getから(再)インストールしてください。

希望すると、これが役立ちます。 (postgresの管理者など)

+0

postgis UPDATE TO '2.2.2';私のために働かなかった、bu ALTER EXTENSION postgis UPDATE;した –

0

まず実行

ALTER EXTENSION postgis UPDATE; 

これが成功を返した場合ただし、サーバーは、それが拡張PostGISのを見つけることができないことを返す場合、あなたは

SELECT PostGIS_Full_Version(); 

を持っているものバージョンを確認、次に実行する

CREATE EXTENSION postgis; 
CREATE EXTENSION postgis_topology; 
ALTER EXTENSION postgis UPDATE; 

SELECT PostGIS_Full_Version(); 
関連する問題