删除postgis以使用pg_upgrade

时间:2016-10-22 05:07:19

标签: postgresql

我正在尝试使用pg_upgrade从postgres 9.4升级到9.6(mac os 10.12)。有一次我在9.4中使用了postgis,但现在不需要它。尽管如此,我在9.6中安装了它可能派上用场的理论。

现在,我在9.4中安装了postgis 2.1.5:

 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
    {
 let cell = collectionview1.dequeueReusableCell(withReuseIdentifier: "cell2", for: indexPath) as! smallDetail_cell

            cell.productName.text = BTdata2[(indexPath as NSIndexPath).row].BTNames2

            return cell

        }

但是在9.6中安装了2.3.0:

SELECT name, default_version,installed_version                                                                                                                                   FROM pg_available_extensions WHERE name LIKE 'postgis%' ;
          name          | default_version | installed_version 
------------------------+-----------------+-------------------
 postgis                | 2.3.0           | 
 postgis_tiger_geocoder | 2.3.0           | 
 postgis_topology       | 2.3.0           | 

我想简单地摆脱这些以继续升级(并删除任何依赖于它们的东西)。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

运行

DROP EXTENSION postgis;

在两个集群的所有数据库中 如果返回错误,则表示没有问题(然后开始安装PostGIS)。

之后,一切都应该可以升级。

要查看扩展程序是否已安装在数据库中,您可以运行查询

SELECT oid, extnamespace FROM pg_extension WHERE extname = 'postgis';