我无法在heroku数据库上恢复备份数据库,但如果我在本地环境恢复并且没有错误,我就不会有任何问题。
当我尝试在heroku connect数据库上恢复时,出现以下错误:
C:\ Program Files \ PostgreSQL \ 9.4 \ bin \ pg_restore.exe --host XXXXXX.compute-1.amazonaws.com --port 5432 --username " XXXXokwpyzewicl" --dbname" d9uto7paqXXX" --no-password --verbose
" C:\用户\ XXXX \桌面\ loans.backup"
pg_restore:连接到 用于恢复的数据库pg_restore:隐含的仅数据恢复
pg_restore:处理表" application_denial_reason_types"
的数据pg_restore:[archiver(db)]处理TOC时出错:
pg_restore:[archiver(db)]来自TOC条目5202的错误; 0 16622表数据application_denial_reason_types postgres
pg_restore:[archiver(db)]无法执行查询:ERROR:relation" application_denial_reason_types"不存在 命令为:COPY application_denial_reason_types(denial_reason_type_id,denial_reason_type_name,description,active,created_by,creat ... pg_restore:执行SEQUENCE SET application_denial_reason_types_denial_reason_type_id_seq
pg_restore:[archiver(db)]来自TOC条目5672的错误; 0 0 SEQUENCE SET application_denial_reason_types_denial_reason_type_id_seq postgres
pg_restore:[archiver(db)]无法执行查询:错误:关系 " application_denial_reason_types_denial_reason_type_id_seq"才不是 存在LINE 1:SELECT pg_catalog.setval(' application_denial_reason_types_de ... ^ 命令是:SELECT pg_catalog.setval(' application_denial_reason_types_denial_reason_type_id_seq', 1,假);
如何修复此错误?
答案 0 :(得分:0)
尝试设置不存在序列的值:
pg_restore:[archiver(db)]无法执行查询:错误:关系 “application_denial_reason_types_denial_reason_type_id_seq”没有 存在
了解理由:
pg_restore:连接到数据库以进行恢复pg_restore:隐含 仅数据恢复
如果您检查man pg_restore
,您会发现:
-a --data-only Restore only the data, not the schema (data definitions). Table data, large objects, and sequence values are restored, if
出现在档案中。
因此,您可能在本地env上有数据结构,这就是为现有序列设置值的原因。 heroku上没有结构,所以你会收到错误。
从-a
命令中删除pg_restore
以在数据恢复之前运行DDL。