恢复Postgres数据库转储

4

无法恢复Postgres数据库转储

我使用了以下命令

 sudo psql my_database_name < feb9.sql
    SET
    SET
    SET
    SET
    SET
    CREATE EXTENSION
    COMMENT
    SET
    SET
    SET
    ERROR:  relation "admin_tools_dashboard_preferences" already exists
    ALTER TABLE
    ERROR:  relation "admin_tools_dashboard_preferences_id_seq" already exists
    ALTER TABLE
    ALTER SEQUENCE
    ERROR:  relation "admin_tools_menu_bookmark" already exists
    ALTER TABLE
    ERROR:  relation "admin_tools_menu_bookmark_id_seq" already exists
    ALTER TABLE
    ALTER SEQUENCE
    ERROR:  relation "auth_group" already exists
    ALTER TABLE
    ERROR:  relation "auth_group_id_seq" already exists



ERROR:  duplicate key value violates unique constraint "product_rateclass_code_uniq"
DETAIL:  Key (code)=(0) already exists.
CONTEXT:  COPY product_rateclass, line 1: "40787    0   Tariff Rates"
 setval 
--------
  40791
(1 row)
ERROR:  relation "admin_tools_menu_bookmark_user_id" already exists
ERROR:  relation "auth_group_name_like" already exists
ERROR:  relation "auth_group_permissions_group_id" already exists
ERROR:  relation "auth_group_permissions_permission_id" already exists
ERROR:  relation "auth_permission_content_type_id" already exists
ERROR:  relation "auth_user_groups_group_id" already exists
ERROR:  relation "auth_user_groups_user_id" already exists
ERROR:  relation "auth_user_user_permissions_permission_id" already exists
ERROR:  relation "auth_user_user_permissions_user_id" already exists
ERROR:  relation "auth_user_username_like" already exists
REVOKE
REVOKE
GRANT
GRANT

我收到了以上的错误日志(我有数百行这样的日志,为了参考我只用了几行)。

执行命令后,数据库仍然包含旧记录而不是新记录。


1
你正在将转储文件还原到一个已经包含所有表的数据库中。你需要先删除它们。 - user330315
请问您能帮我处理这些命令吗?除了像在mysql中那样删除当前数据库,还有其他方法可以恢复数据库吗?(这是我第一次处理postgresql) - onkar
2
如果您使用 pg_dump 命令并带上 --clean 选项,生成的脚本将包含在还原之前删除所有内容所需的语句。详细信息请参阅手册。 - user330315
1个回答

11

我删除了现有的数据库并创建了一个新的。

$dropdb development_db_name
$ createdb developmnent_db_name

然后我使用以下方式恢复了数据库

 sudo psql my_database_name < feb9.sql

非常感激您的回答! - William

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接