我在Linux系统上有一个PostgreSQL数据库,我想从我的Windows PC上访问它。但我能找到的唯一Windows二进制文件是完整的安装程序,其中包括数据库服务器和客户端。
是否可以从任何地方获得PostgreSQL的仅客户端Windows二进制安装?
(澄清一下,我想要标准的PostgreSQL客户端,psql - 不是GUI客户端或独立工具)。
答案 0 :(得分:30)
不幸的是,没有真正的客户端“仅”安装程序。
您可以做的是下载完整的Postgres二进制文件的ZIP存档:
http://www.enterprisedb.com/products-services-training/pgbindownload
然后从中删除“服务器”部分。
解压缩后,您将获得以下目录:
bin doc include lib pgAdmin III share StackBuilder symbols
您可以删除doc
,include
,pgAdmin III
,StackBuilder
和symbols
目录。据我所知(但我不确定)客户端也不需要share
或lib
目录,但您需要测试它。这样只留下bin
目录。
我认为share
中的本地化错误消息可能需要psql
目录,但我不确定。
在bin
目录中,您基本上可以删除所有.exe文件(当然除了psql.exe
)。您还可以删除所有wx*.dll
个文件,只有pgAdmin才需要这些文件。只有服务器才需要libxml2.dll
和libxslt.dll
。
如果您确实需要其他一些客户端工具,则可能需要保留
此方法的一个缺点是,这需要安装Visual C ++ Redistributable。但是你也可以通过简单地将MSVCR120.DLL
从安装它的计算机放到bin
目录中来解决这个问题。
因此,您将获得psql客户端所需的这些文件(来自bin
目录):
当然,您也可以从现有的Postgres安装中获取所有这些,而无需下载ZIP存档。
这显然不是真正的安装程序,但如果您将清理后的目录放入ZIP文件中,您可以分发该文件,只需解压缩存档即可。我个人觉得unzip
无论如何都是最好的“安装程序”(我也用它来安装Postgres服务器,Windows安装程序只有太多的怪癖)
答案 1 :(得分:15)
实际上pgAdmin中有客户端CLI工具。您只需从https://www.postgresql.org/download/windows/将其安装在Windows计算机上即可。
然后,您就可以在C:\Program Files (x86)\pgAdmin III\1.22
或C:\Program Files (x86)\pgAdmin 4\v2\runtime
等文件夹中找到这些工具,具体取决于您安装的pgAdmin版本。
答案 2 :(得分:11)
从2020年开始,当您单击从here下载完整的安装程序时,单击“下一步”和“下一步”,您可以选择仅安装命令行-工具 。请记住,将路径添加到PATH变量中的bin文件夹中。
答案 3 :(得分:5)
我意识到这是一个较旧的问题,但是当我使用Windows安装程序获得最新版本的Postgres(10.4)时,它让我可以选择只安装命令行工具。当系统提示您选择我要安装的内容时,我只需在安装程序窗口中取消选中server
和pgadmin
。
答案 4 :(得分:3)
感谢在此主题上发布的每个人。
对于它的价值,我从PostgreSQL 10.10的PostgreSQL 10.10中获取了psql.exe,该文件在zip存档中仅包含以下文件:
libcrypto-1_1-x64.dll
libiconv-2.dll
libintl-8.dll
libpq.dll libssl-1_1-x64.dll
psql.exe
连接到AWS Redshift时,出现以下错误:
psql:致命:参数“ client_encoding”的值无效:“ WIN1252”
我通过运行解决了这个问题
set PGCLIENTENCODING=UTF8
我在https://forums.aws.amazon.com/thread.jspa?messageID=600088找到了这个解决方案
HTH。
答案 5 :(得分:1)
下面是我在Windows上使用postgres12 psql连接到Amazon Redshift的步骤:
从以下位置下载postgres 12.4: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
运行安装程序,这将需要几分钟,并提示您选择安装选项
选择command line tools
,如下面的屏幕截图所示,并安装
以上将在文件夹C:\Program Files\PostgreSQL\12\bin
下安装postgres12命令行。确保将其添加到您的PATH环境变量中
打开cmd并运行命令
set PGCLIENTENCODING=UTF8
运行psql连接到redshift。确保分别更改以下以红色突出显示的集群端点,用户标识,复制脚本文件名和日志脚本文件名的参数
psql -h redshift-cluster-1.abcdefgh.us-east-1.redshift.amazonaws.com -U demo_user -d dev -p 5439 -f d:\demo\redshift_script.sql -L d:\demo\log_redshift_script.log
redshift_script.sql文件中的所有命令都将在PSQL中执行,并且日志将存储在log_redshift_script.log文件中
答案 6 :(得分:0)
如果安装了 pgadmin v4
,则只需复制这些库(来自 C:\Program Files\pgAdmin 4\v4\runtime\
):
libcrypto-1_1-x64.dll
libpq.dll
libssl-1_1-x64.dll
这些足以让我从客户端 Windows 10 x64 PC 连接到远程 Postgres 13 服务器。请注意,上述 ZIP 存档附带的库略有不同,并且具有更多依赖项。