2011-11-28 64 views
1

有谁知道是否有正确的方式来重新分配PostgreSQL命令行工具,例如pg_dump和pg_restore?重新分配PostgreSQL命令行工具

对于Windows,这些二进制文件在'One-Click'安装程序中可用,但我只想重新分配命令行工具来自动执行备份和恢复,因此> 100MB的有效负载完全过度。

我当然可以尝试复制整个bin文件夹,但我更愿意知道我需要的是什么。

+0

您是否试图捆绑某种救援工具? – scravy

+0

不,它适用于业务线应用程序的自动备份功能。 –

回答

2

没有官方的客户端分布。当这个问题出现在邮件列表中时,通常的答案是您应该抓取.zip发行版,然后使用Dependency Walker (depends.exe)来确定您希望分发哪些二进制文件需要哪些DLL,将它们捆绑起来并包含在您的应用中。

PostgreSQL服务器(postgres.exe)非常严重地使用dlopen()/ LoadLibrary(),所以不能依赖depends.exe。幸运的是,客户端更简单,你可以使用depends.exe来确定它需要什么。没有其他脚本,pg_dump,pg_restore或psql所需的dlopen'd库等。

我从来没有对这个答案感到完全满意,但我从来没有想过改进它足以想要弄乱包装。这对EnterpriseDB的一键安装程序是封闭源码没有帮助,所以我不能修改它以提供仅客户端的最小程序包。目前,提取可执行文件和相关库是最好的。

如果你考虑一下,如果你自己编译它,会发生什么情况并没有什么不同。你仍然只会拉出客户端分发。

+0

很好的答案,谢谢克雷格。 –