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 l
·
问题: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
语句使用。
更多推荐
已为社区贡献19918条内容
所有评论(0)