我正在制作一个postgres基础的转储文件.通过使用pg_dump base > base.sql,postgres创建base.sql但是直到进程没有完成,文件出现0字节.有没有办法获取文件的大小来制作一种进度条?
我用os.stat()尝试了python,但它也显示了0个字节:
>>> import os
>>> file = os.stat('base.sql')
>>> file.st_size
>>> 0L
Run Code Online (Sandbox Code Playgroud)
一个非python选项是使用Universe存储库中提供的pv命令行程序(手册页):
apt-get install pv
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过管道pv直接获取有关已将数据写入输出文件的持续更新:
pg_dump base | pv > base.sql
Run Code Online (Sandbox Code Playgroud)
当然,pv在这种情况下无法知道最终大小,所以它只显示到目前为止管道传输的数据量.如果你有一个猜测,你可以提供一个-s参数,你会得到一个适当的进度条:
pg_dump base | pv -s 500M > base.sql
Run Code Online (Sandbox Code Playgroud)
这是我在安装说明,示例和屏幕截图中找到的博客文章.
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |