如何从数据库转储中恢复一个表?我使用下一个命令进行转储:
pg_dump -U admin -h localhost my-db-name | gzip - > /home/a2_db_backup/my-db-name-backup.sql.gz
答案 0 :(得分:6)
没有简单的方法,除了一些黑客(比如使用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
。