psql clean/reset 数据库到模式
psql clean/reset database to just schema
我对我的数据库进行了导入,但它带有内容。我想将数据库重置为仅模式。这意味着 tables 的所有内容都已删除,但 tables 的架构仍然存在。并且自动递增字段被重置为从头开始。
这可以用 psql 实现吗?我看到使用特定 table 命令删除内容的命令,我只想要一个通用的 psql reset-to-schema
.
转储您的数据库(使用 pg_dump
),删除并重新创建数据库(您现在有一个空数据库)并恢复所有模式数据(使用 pg_restore
和选项 --schema-only
).这只会恢复数据定义(表、类型、序列、函数等),而不是数据本身。
有关更多选项,请查看手册。如果根据需要设置了所有 PG 环境变量,您可能会使用这些行,否则您至少需要指定一些连接信息:
pg_dump -F c -f <dump_file_name_here> <db_name_here>
pg_restore -c -C -F c -d <db_name_here> --schema-only <dump_file_name_here>
也可以将选项 --schema-only
放在 pg_dump
上。如果您不想再使用这些数据,这可能会带来巨大的加速。
我对我的数据库进行了导入,但它带有内容。我想将数据库重置为仅模式。这意味着 tables 的所有内容都已删除,但 tables 的架构仍然存在。并且自动递增字段被重置为从头开始。
这可以用 psql 实现吗?我看到使用特定 table 命令删除内容的命令,我只想要一个通用的 psql reset-to-schema
.
转储您的数据库(使用 pg_dump
),删除并重新创建数据库(您现在有一个空数据库)并恢复所有模式数据(使用 pg_restore
和选项 --schema-only
).这只会恢复数据定义(表、类型、序列、函数等),而不是数据本身。
有关更多选项,请查看手册。如果根据需要设置了所有 PG 环境变量,您可能会使用这些行,否则您至少需要指定一些连接信息:
pg_dump -F c -f <dump_file_name_here> <db_name_here>
pg_restore -c -C -F c -d <db_name_here> --schema-only <dump_file_name_here>
也可以将选项 --schema-only
放在 pg_dump
上。如果您不想再使用这些数据,这可能会带来巨大的加速。