tar 转储中的 sql 脚本文件的用途是什么?
What is the purpose of the sql script file in a tar dump?
$ 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
restore.sql
的目的是什么?
toc.dat
是二进制的,但我可以打开它,它看起来像 sql
脚本也是。 restore.sql
的目的有何不同
和 toc.dat
?
文档中的以下引述没有回答我的问题:
with one file for each table and blob being dumped, plus a so-called Table of Contents file describing the dumped objects
in a machine-readable format that pg_restore can read.
- 因为 tar 转储包含
restore.sql
除了 .dat
文件,
sql 脚本文件 restore.sql
和 toc.dat
在 tar 转储和
普通转储(只有一个 sql 脚本文件)?
谢谢。
这看起来是一个将数据恢复到 PostgresQL 的脚本。该脚本是使用 pg_dump.
创建的
如果您想恢复,请查看pg_restore。
dat 文件包含要在 sql 脚本中的那些 \copy
命令中恢复的数据。
toc.dat
文件未在 sql 文件中引用。如果您尝试使用 cat toc.dat|strings
查看内部,您会发现它包含与 sql 文件非常相似的数据,但多了一些 internal ids.
我认为它可能本来打算在某个时候没有 SQL 的情况下工作,但现在不是这样工作的。查看生成 toc here.
的代码
restore.sql
未被 pg_restore
使用。请参阅来自 src/bin/pg_dump/pg_backup_tar.c
的评论:
* The tar format also includes a 'restore.sql' script which is there for
* the benefit of humans. This script is never used by pg_restore.
toc.dat
是内容的table。它包含在转储中创建和删除每个对象的命令,pg_restore
使用它来创建对象。它还包含从 *.dat
文件加载数据的 COPY
语句。
您可以使用 pg_restore -l
以人类可读的形式提取内容的 table,并且您可以使用 pg_restore -L
编辑结果以仅恢复特定对象。
<em><number></em>.dat
文件是包含 table 数据的文件,它们由 toc.dat
和 restore.sql
中的 COPY
语句使用。
$ 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
restore.sql
的目的是什么?toc.dat
是二进制的,但我可以打开它,它看起来像 sql 脚本也是。restore.sql
的目的有何不同 和toc.dat
?文档中的以下引述没有回答我的问题:
with one file for each table and blob being dumped, plus a so-called Table of Contents file describing the dumped objects in a machine-readable format that pg_restore can read.
- 因为 tar 转储包含
restore.sql
除了.dat
文件, sql 脚本文件restore.sql
和toc.dat
在 tar 转储和 普通转储(只有一个 sql 脚本文件)?
谢谢。
这看起来是一个将数据恢复到 PostgresQL 的脚本。该脚本是使用 pg_dump.
创建的如果您想恢复,请查看pg_restore。
dat 文件包含要在 sql 脚本中的那些 \copy
命令中恢复的数据。
toc.dat
文件未在 sql 文件中引用。如果您尝试使用 cat toc.dat|strings
查看内部,您会发现它包含与 sql 文件非常相似的数据,但多了一些 internal ids.
我认为它可能本来打算在某个时候没有 SQL 的情况下工作,但现在不是这样工作的。查看生成 toc here.
的代码restore.sql
未被pg_restore
使用。请参阅来自src/bin/pg_dump/pg_backup_tar.c
的评论:* The tar format also includes a 'restore.sql' script which is there for * the benefit of humans. This script is never used by pg_restore.
toc.dat
是内容的table。它包含在转储中创建和删除每个对象的命令,pg_restore
使用它来创建对象。它还包含从*.dat
文件加载数据的COPY
语句。您可以使用
pg_restore -l
以人类可读的形式提取内容的 table,并且您可以使用pg_restore -L
编辑结果以仅恢复特定对象。<em><number></em>.dat
文件是包含 table 数据的文件,它们由toc.dat
和restore.sql
中的COPY
语句使用。