我使用Heroku推荐的pg:transfer实用程序来推送和提取数据库。例如:
heroku pg:transfer -f postgres://username:password@localhost/database-name -t postgres://user-name:password@host-name/database-name --confirm app-name
我已经能够成功地完成它,但每次它都表明在转移结束时忽略了错误:
WARNING: errors ignored on restore: 59
我需要担心吗?
修改
我查看了我的输出,每张桌子上似乎都有错误。它似乎丢弃序列,然后抛出一个错误,说它不存在。
pg_restore: dropping SEQUENCE OWNED BY roles_id_seq
pg_restore: dropping SEQUENCE roles_id_seq
pg_restore: [archiver (db)] Error from TOC entry 170; 1259 35485 SEQUENCE roles_id_seq postgres
pg_restore: [archiver (db)] could not execute query: ERROR: sequence "roles_id_seq" does not exist Command was: DROP SEQUENCE public.roles_id_seq;
答案 0 :(得分:5)
我的猜测是发生的事情是它正在运行一个“干净”的恢复,这意味着它会丢弃以前的对象以确保然后重新创建它们。
如果这些是您唯一的错误,那么完全可以忽略它们。太糟糕了,工具链不够智能,无法在drop命令中添加IF EXISTS。