如何在Windows上安装PostgreSQL的客户端工具?

我在Linux系统上有一个PostgreSQL数据库,我想从Windows PC访问。 但是我能够find的唯一的Windows二进制文件是完整的安装程序,其中包括数据库服务器和客户端。

是否有可能从任何地方获得PostgreSQL的仅客户端Windows二进制安装?

(为了澄清,我想要标准的PostgreSQL客户端,psql – 不是一个GUI客户端或独立的工具)。

不幸的是,没有真正的客户端“唯一”安装程序。

你可以做的是下载完整的Postgres二进制文件的ZIP压缩文件:

http://www.enterprisedb.com/products-services-training/pgbindownload

然后从中删除“服务器”部分。

当你解压缩时,你会得到以下目录:

箱子
 DOC
包括
 LIB
 pgAdmin三
分享
 StackBuilder
符号

您可以删除docincludepgAdmin IIIStackBuildersymbols目录。 据我所知(但我不知道)客户端也不需要sharelib目录,但你需要测试。 所以只留下bin目录。

我认为share目录可能需要在psql本地化的错误消息,但我不知道这一点。

bin目录中,你可以删除所有的.exe文件(当然除了psql.exe )。 您也可以删除所有的wx*.dll文件,它们只需要用于pgAdmin。 libxml2.dlllibxslt.dll也只需要服务器。

如果您确实需要一些其他客户端工具,则可能需要保留

  • pg_dump.exe
  • pg_dumpall.exe
  • pg_restore.exe

这种方法的一个缺点是,这需要安装Visual C ++ Redistributable。 但是,您也可以通过将MSVCR120.DLL从安装在bin目录中的某台计算机上简单地MSVCR120.DLL

因此,您将使用psql客户机所需的这些文件(来自bin目录):

  • iconv.dll
  • 的libeay32.dll
  • 的libintl-8.dll
  • libpq.dll
  • msvcr120.dll
  • ssleay32.dll
  • zlib1.dll
  • psql.exe

当然,您也可以从现有的Postgres安装中获取所有这些信息,而无需下载ZIP压缩文件。


这显然不是一个真正的安装程序,但是如果你把清理好的目录放到一个ZIP文件中,你就可以分发这个文件,任何需要它的人只需解压缩这个文件。 就我个人而言,我发现unzip是最好的“安装程序”(我也用它来安装Postgres服务器,Windows安装程序只是有太多的怪癖)

实际上在pgAdmin中有客户端CLI工具。 所有你需要的只是从https://www.postgresql.org/download/windows/安装在你的Windows机器上。

那么你将能够找到像C:\Program Files (x86)\pgAdmin III\1.22C:\Program Files (x86)\pgAdmin 4\v2\runtime文件夹中的工具,具体取决于您有的pgAdmin版本安装。