我正在尝试使用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 |
我想简单地摆脱这些以继续升级(并删除任何依赖于它们的东西)。我怎么能这样做?
答案 0 :(得分:1)
运行
DROP EXTENSION postgis;
在两个集群的所有数据库中 如果返回错误,则表示没有问题(然后开始安装PostGIS)。
之后,一切都应该可以升级。
要查看扩展程序是否已安装在数据库中,您可以运行查询
SELECT oid, extnamespace FROM pg_extension WHERE extname = 'postgis';