恢复风景的最好方法是什么?
pg_dump -h hostname -d databasename -Fc > db.dumpDROP VIEW viewname;pg_restore -h hostname -d databasename -t viewname db.dump这不是错误,但似乎也不起作用。还使用-n模式选项进行了尝试。在详细模式下,它说的是pg_resore:隐含的数据只恢复。是否可以通过pg_restore恢复视图?
发布于 2015-04-01 02:27:54
在PostgreSQL 9.4或更高版本中,似乎没有这样做的方法。
这是我刚发布的问题报告。
如果您想修补pg_restore,它看起来非常简单,只需在ropt->selTypes in _tocEntryRequired (在pg_backup_archiver.c中)的测试下添加检查,就可以更改:
strcmp(te->desc, "TABLE DATA") == 0)至
strcmp(te->desc, "TABLE DATA") == 0 ||
strcmp(te->desc, "VIEW") == 0)下面是完整的修补程序:https://gist.github.com/ringerc/1743cfad34694fc9b9a3
您不必为此编译和安装所有的PostgreSQL,如果需要,只需编译一个自定义pg_restore即可。
更新:下面是带有建议修补程序的-黑客帖子。
update2:根据医生们的说法,这是在9.6中修正的
https://dba.stackexchange.com/questions/96729
复制相似问题