PostgreSQL - 从数据库转储中恢复一个表

Dim*_*mon 3 postgresql

如何从数据库转储中恢复一个表?我使用下一个命令进行转储:

pg_dump -U admin -h localhost my-db-name | gzip - > /home/a2_db_backup/my-db-name-backup.sql.gz
Run Code Online (Sandbox Code Playgroud)

man*_*iek 7

没有简单的方法,除了一些黑客(比如使用awk来剪切文件的一部分).

如果转储不是太大,最简单的方法是将完整备份恢复到临时数据库(gzcat backup_file.gz | psql -h host -U user database_name)转储一个表(pg_dump -t my_table),然后恢复它.

对于未来,自定义格式(pg_dump -Fc > database.dump)是要走的路.您可以使用pg_restore来恢复单个表:pg_restore -t my_table -d database_name database.dump.