📌  相关文章
📜  pg_restore 挂起 (1)

📅  最后修改于: 2023-12-03 14:45:08.911000             🧑  作者: Mango

pg_restore 挂起

pg_restore 是一个 PostgreSQL 的工具,用于恢复备份文件到 PostgreSQL 数据库。在使用 pg_restore 工具恢复备份文件时,有时可能需要挂起该操作并且中途再次恢复操作,比如恢复大型备份文件或者在网络较慢的情况下。

如何挂起 pg_restore

使用 pg_restore 恢复备份文件时可以加上 --jobs 参数,该参数可以指定 pg_restore 工具使用的并发数。将该参数设置为 1 可以保证在恢复备份文件时不会使用并发。

pg_restore --jobs=1 mybackupfile.dump

如果备份文件较大,你可以通过按下 Ctrl+Zpg_restore 挂起并将其放在后台暂时停止操作。

如何重启挂起的 pg_restore

当然,如果你有多个 pg_restore 工作正在进行,你需要挑选一个你要重启的 pg_restore 进程。你可以使用 jobs 命令查看后台所有挂起的进程。

jobs -l

该命令将输出一个列表,其中包含每个挂起的作业的编号和状态,如下所示:

[1]+  12345 Suspended                    pg_restore --jobs=1 mybackupfile.dump

上面的 1 是该作业的编号,12345pg_restore 的进程ID,Suspended 表示该作业处于挂起状态,最后一列是该挂起作业的命令行。

要重启该作业,你可以使用 fg 命令重新将其放回前台。

fg 1

这将重新启动 ID 为 1 的作业。

结论

pg_restore 是一个非常有用的 PostgreSQL 工具,这个工具非常适合在恢复备份文件时使用。在备份文件较大或者在网络速度较慢的情况下,你可能需要暂停并重新启动 pg_restore。使用 --jobs 参数设置并发数,按下 Ctrl+Z 挂起 pg_restore 并使用 jobsfg 命令重新启动该作业。