我正在按照Heroku提供的一组指令(链接1)来导出本地postgis数据库的副本并将其恢复到我的Heroku postgres实例中。 我还按照(链接2)这组指令在Heroku上为我的数据库提供了postgis扩展。
扩展已成功安装。
我接着使用以下命令运行了还原:
然而,恢复失败并显示以下错误信息:
恢复似乎在检查并尝试安装postgis扩展时失败了。我注意到,在尝试还原后,当我登录Heroku postgres实例时,postgis扩展已经消失了。这让我相信pg:restore删除了该扩展,然后尝试重新安装但失败了。
有什么办法可以在还原时在Heroku postgres实例上安装postgis扩展吗?
扩展已成功安装。
climbville::DATABASE=> CREATE EXTENSION postgis;
CREATE EXTENSION
climbville::DATABASE=> \dx
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+------------------------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
postgis | 3.2.3 | heroku_ext | PostGIS geometry and geography spatial types and functions
我接着使用以下命令运行了还原:
heroku pg:backups:restore '<presigned url>' DATABASE_URL --app climbville
然而,恢复失败并显示以下错误信息:
pg_restore: creating EXTENSION "postgis"
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 2; 3079 18546 EXTENSION postgis (no owner)
pg_restore: error: could not execute query: ERROR: Extensions can only be created on heroku_ext schema
恢复似乎在检查并尝试安装postgis扩展时失败了。我注意到,在尝试还原后,当我登录Heroku postgres实例时,postgis扩展已经消失了。这让我相信pg:restore删除了该扩展,然后尝试重新安装但失败了。
有什么办法可以在还原时在Heroku postgres实例上安装postgis扩展吗?