gpt4 book ai didi

database - Postgres : Dump schema-only but leave data intact for a few tables

转载 作者:行者123 更新时间:2023-11-29 14:37:12 28 4
gpt4 key购买 nike

我有一个包含约 300 个表的数据库,我想转储仅模式。需要注意的是,我还想保留大约 12 个表的数据。例如我有一个名为 country 的表,其中包含我想保存在转储中的国家名称。

我怎样才能做到这一点?

最佳答案

首先转储架构:

pg_dump -s -d dbname > /home/username/schema.sql

从下一个转储你想要数据的表:

pg_dump -a -d dbname -t table1name -t table2name -t table3name > /home/username/data.sql

然后要在新服务器上恢复,以相同的顺序运行文件(模式优先)。

psql -U user -d dbname -f /home/username/schema.sql
psql -U user -d dbname -f /home/username/data.sql

如果需要,您还可以将第二个转储(数据)附加到第一个(模式)以创建一个大文件以使用 >> 而不是 > 进行恢复。不过,您仍在运行两个 pg_dump 命令来执行此操作。

例如:

pg_dump -s -d dbname > /home/username/full.sql
pg_dump -a -d dbname -t table1name -t table2name -t table3name >> /home/username/full.sql
psql -U dbuser -d dbname -f /home/username/full.sql

关于database - Postgres : Dump schema-only but leave data intact for a few tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42448686/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com