tar 转储中的 sql 脚本文件的用途是什么?
·
问题:tar 转储中的 sql 脚本文件的用途是什么?
在一个 tar 转储
$ tar -tf dvdrental.tar
toc.dat
2163.dat
...
2189.dat
restore.sql
提取后
$ file *
2163.dat: ASCII text
...
2189.dat: ASCII text
restore.sql: ASCII text, with very long lines
toc.dat: PostgreSQL custom database dump - v1.12-0
1、restore.sql的用途是什么?
2.toc.dat是二进制的,但是我可以打开它,它看起来也像一个sql脚本。restore.sql和toc.dat的用途有何不同?
文件中的以下引用没有回答我的问题:
每个表和被转储的 blob 都有一个文件,加上一个所谓的目录文件,以 pg_restore 可以读取的机器可读格式描述转储的对象。
- 由于tar dump除了
.dat文件外还包含restore.sql,tar dump和plain dump(只有一个sql脚本文件)中的sql脚本文件restore.sql和toc.dat有什么区别?
谢谢。
解答
restore.sql未被pg_restore使用。请参阅src/bin/pg_dump/pg_backup_tar.c的此评论:
* tar 格式还包括一个“restore.sql”脚本,用于
*人类的利益。 pg_restore 永远不会使用这个脚本。
toc.dat是_目录_。它包含在转储中创建和删除每个对象的命令,并被pg_restore用于创建对象。它还包含从*.dat文件加载数据的COPY语句。
您可以使用pg_restore -l以人类可读的形式提取目录,您可以使用pg_restore -L编辑结果以仅恢复特定对象。
_<number>_.dat文件是包含表数据的文件,被toc.dat和restore.sql中的COPY语句使用。
更多推荐
所有评论(0)