恢复PostgreSQL数据库时如何解决扩展问题

时间:2019-01-28 10:10:40

标签: postgresql database-backups

我正在使用创建的数据库还原.sql Postgres转储

CREATE DATABASE my_database;

以后,当我使用还原数据库时

psql my_database < dump.sql

但是,我遇到了几个错误,这些错误使我无法恢复数据:

ERROR:  schema "pglogical" already exists
ALTER SCHEMA
CREATE EXTENSION
COMMENT
ERROR:  could not open extension control file "/usr/share/postgresql/11/extension/pglogical.control": No such file or directory
ERROR:  extension "pglogical" does not exist
ERROR:  could not open extension control file "/usr/share/postgresql/11/extension/postgis.control": No such file or directory
ERROR:  extension "postgis" does not exist
ERROR:  function "order_sorting_weight" already exists with same argument types
ERROR:  type "public.geometry[]" does not exist
LINE 7:     viewer_locations public.geometry(Point,4326)[]

以下是重复报告:

ERROR:  relation "auth_permission_id_seq" already exists
ALTER TABLE
ALTER SEQUENCE
ERROR:  relation "auth_user" already exists
ALTER TABLE
ERROR:  relation "auth_user_groups" already exists
ALTER TABLE
ERROR:  relation "auth_user_groups_id_seq" already exists

我猜数据库的每一列。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

好的,我只是通过更改我一直使用的海报的版本来解决了这个问题,因为我安装了最新版本的Postgres(11.1),所以无法将.sql转储文件还原到其中,并且转储文件已从版本为9.5的数据库服务器中转储。所以我只是卸载了整个Postgresql并安装了9.5版本。我在plogical-docs的帮助下设置了pglogical扩展名,现在一切都按我的意愿工作。