PostgreSQL 转储/恢复
我不想转储
整个表,而只想将表中的某些记录转储到我的转储文件中,然后再恢复相同。
PS:我想对数据库中的多个1 个表执行相同的操作,但将其转储到单个文件中。
这可能吗?如果是的话我该怎么办?
提前致谢。
I don't want to Dump
the entire table but only certain records in a table in my dump file and later restore
the same.
P.S.: I want to do the same for more than 1 table in my database but dump it in a single file.
Is this possible? If yes then how do i go about it?
Thank in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
COPY 命令?
The COPY command?
使用 Jailer 应该可以。
Should be possible using Jailer.
create temp_tables from sqlquery
sqlquery 可以形成为投影,如“select columns from table”,
然后使用 pg_dump 转储所有临时表都使用 --table 选项。
pgadmin 可以帮助将表转储到单个文件中。
从 pgadmin 恢复所有临时表并在主表上运行 INSERT 查询。
create temp_tables from sqlquery
sqlquery can be formed as projection like 'select columns from table'
then use pg_dump to dump all temporary tables using --table option.
pgadmin can help dumping tables in a single file here.
Restore all temp tables from pgadmin and run INSERT query on main table.
正如 @Pondlife 在他的回答中提到的,必须使用 COPY 命令,但没有解决我将所有转储数据放入单个文件的问题。
因此,根据 Craig Ringer 给出的想法,为每个表制作了单独的文件并获取了所有
这些文件被压缩到一个存档文件中。
对于恢复,未压缩的存档会生成单独的文件,稍后使用它们来恢复表。
必须回答我自己的问题,这样它可能会对某人有所帮助。
As @Pondlife mentioned in his answer had to use
COPY
command but did not solve my Problem of getting all the dump data into a single file.So from the idea given by Craig Ringer made individual files for each table and got all
the files compressed into a single archive file.
For restore uncompressed the archive to generate individual files later used them to restore the Tables.
Had to answer my own question so it might help somebody.