m0m*_*eni 4 sql database postgresql pg-dump pg-restore
我知道这是一个奇怪的请求,但由于一些我无法避免的骇人听闻的原因,我希望能够始终如一地将几个表从一个数据库同步到另一个数据库。我知道我可以自己在脚本中写出功能,但我认为pg_dump并将pg_restore对我自己不了解的过程应用很多优化。
我想知道是否有办法pg_restore覆盖现有的表。基本上,在伪代码中是这样的:
-- pseudo code
begin;
drop table to_restore;
drop table to_restore2;
drop table to_restore3;
-- etc
restore table to_restore;
restore table to_restore2;
restore table to_restore3;
-- etc
commit;
Run Code Online (Sandbox Code Playgroud)
如果这不是那么好,我也愿意接受其他方法。
似乎您想要pg_restore 文档中-c指定的选项
-C
- 干净的
在重新创建数据库对象之前清理(删除)它们。(除非使用 --if-exists,否则如果目标数据库中不存在任何对象,则这可能会生成一些无害的错误消息。)
您可以将其与-1标志一起用于在一笔交易中完成所有操作
-1
--单笔交易
将恢复作为单个事务执行(即,将发出的命令包装在 BEGIN/COMMIT 中)。这可确保所有命令成功完成,或者不应用任何更改。此选项意味着 --exit-on-error。
| 归档时间: |
|
| 查看次数: |
5749 次 |
| 最近记录: |