postgresql - 如何将备份加载到新表
问题描述
我正在备份表,创建另一个表并希望将备份恢复到我刚刚创建的新表中。
备份 table_a
pg_dump -v -Fc -t table_a -U dba -h <host_name> db_name > ./pls.dmp
创建表_b
CREATE TABLE table_b (LIKE table_a)
恢复备份到 table_b
pg_restore -v -U dba --data-only -h <host_name> -d db_name -t table_b ./pls.dmp
在还原步骤之后,我在 table_b 中看不到数据。我错过了一个步骤还是做错了什么?任何帮助表示赞赏
解决方案
从pg_restore
手册页:
--表=表
仅恢复命名表的定义和/或数据。
此选项允许您选择要从备份中恢复的表。它不设置将备份还原到的表的名称。
使用 的选项无法实现您想要做的事情pg_restore
。您将不得不编辑转储并替换table_a
为table_b
.
推荐阅读
- visual-studio-code - 在光标位置插入预定义文本
- ansible - Ansible如何获取windows更新kb数
- vba - 循环遍历char、array,根据之前的值Visual Basic对每个char进行计算
- python - 在 Python 中的 BeautifulSoup 中获取 NextSibling
- sql - 无法为列值添加或连接 '
- python - 相同的代码在 python 中给出不同的输出
- c# - 如何在 Winforms、C# 中为文本框添加千位分隔符
- ios - 当我们在 DidSelect 上附加数组时,我们必须这样做以删除 DidDeselect 中的确切对象
- python - 使用条件逻辑创建新列并取决于列是否存在
- php - 如何从 laravel 控制器的表中获取 n 个数据?