有没有人知道是否有适当的方法来重新分发PostgreSQL命令行工具,如pg_dump和pg_restore?
对于Windows,这些二进制文件在“一键”安装程序中可用,但我只是希望重新分发用于自动备份和恢复的命令行工具,以便超过100MB的有效负载完全是多余的。
显然,我可以尝试复制整个bin文件夹,但我更喜欢确切地知道我需要什么。
发布于 2011-11-28 22:18:49
没有官方的客户端发行版。当这个问题出现在邮件列表中时,通常的答案是你应该获取.zip发行版,然后使用Dependency Walker (depends.exe)来确定你想要分发的二进制文件需要哪些DLL,将它们捆绑在一起并将它们包含在你的应用程序中。
PostgreSQL服务器(postgres.exe)大量使用dlopen() / LoadLibrary(),因此不能依赖depends.exe。值得庆幸的是,客户端比较简单,您可以只使用depends.exe来确定它需要什么。pg_dump、pg_restore或psql不需要额外的脚本、dlopen'd库等。
我从来没有完全满意过这个答案,但我也从来没有想过要改进它到想要弄乱包装的程度。EnterpriseDB的一键式安装程序是封闭源代码的,因此我不能将其修改为提供仅供客户端使用的最小程序包,这也无济于事。就目前而言,提取可执行文件和关联库是最好的选择。
如果你仔细想想,它与你自己编译它的结果并没有太大的不同。你仍然只拿出客户机位来分发。
https://stackoverflow.com/questions/8295764
复制相似问题