我剩下4个进程.其中之一是刷新物化视图,另外3个是要应用于物化视图用作数据源的3个表的索引.索引根据pg_stat_activity“等待”,大概是因为物化视图的REFRESH仍在访问源表.
当索引到位时,视图的刷新只需要几分钟.因为在REFRESH期间索引不到位,所以我在17小时内关闭了REFRESH进程,这使得pg_restore失败.
我怎么能够
>强制项目的顺序,以便首先创建索引
>关闭物化视图的刷新,稍后手动执行
>以自定义格式处理转储文件,说出“无数据”
>拦截REFRESH MATERIALIZED VIEW语句并将其丢入垃圾桶
还是完成任务的其他解决方案?
“有/你可以尝试’-l(el)& -L’选项来pg_restore吗?
http://www.postgresql.org/docs/9.3/static/app-pgrestore.html
基本上重新排序命令序列,使物质化运行迟到
或者完全禁用它.
应该教会pg_dump / pg_restore来处理这个更好,这是主要的
为什么克雷格尽快发布在这里的原因,但是现在可以实现它
手动干预将是必要的.在理论上“上市”的能力
应该允许你做你需要的.“
我认为这个(pg_restore -l | pg_restore -L)会让我在我需要的地方
现在通过在它之间插入一个小的shell脚本来实现
物化视图到列表的末尾,但后来我也会有
管理我自己的依赖关系我重新排序的项目(MatViews的
MatViews).
这严重限制了我对物化意见的实用性.
对于版本9.3.x,我可能不需要MatView依赖关系
1深
编辑:
要停止恢复数据的实现,我开始这样做:
pg_dump mydatabase -Fd backup_dir pg_restore -l -Fd backup_dir | sed '/MATERIALIZED VIEW DATA/d' > ordered.lst pg_restore -L ordered.lst -Fd backup_dir mydatabase
原文地址:https://www.jb51.cc/postgresql/192659.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。