在 Windows 上安装 PostgreSQL 客户端工具

David Mbochi Njonge 2023年1月30日
  1. 下载完整的 PostgreSQL 二进制文件以安装 PostgreSQL 客户端工具
  2. 使用 PostgreSQL 安装程序安装 PostgreSQL 客户端工具
在 Windows 上安装 PostgreSQL 客户端工具

当我们开发应用程序时,我们最终会根据特定的月度或年度订阅将它们托管给所需的云提供商。根据你的计划,这些订阅为我们提供不同的服务,例如存储在数据库中的数据、带宽、电子邮件服务等。

从本地计算机访问远程数据库有多种方法,其中一种是通过图形用户界面客户端或基于 TCP 的命令行界面。

本教程将教我们如何仅安装访问 Windows 机器上的远程数据库所需的 PostgreSQL 客户端工具。

下载完整的 PostgreSQL 二进制文件以安装 PostgreSQL 客户端工具

这是我们可以用来安装 PostgreSQL 客户端工具的第一种方法。

我们必须首先安装 Microsoft Visual C++ Redistributable 才能使这种方法起作用。

microsoft Visual C++ Redistributable 安装

下载 Windows 操作系统的完整 PostgreSQL 二进制文件的 zip 存档。

下载 PostgreSQL 二进制文件

请注意,提供这些二进制文件是为了方便专家用户,用户应该使用安装程序,除非他们需要这些文件。

转到保存 PostgreSQL 二进制文件的 Downloads 文件夹并解压缩存档。

从存档中提取了一个名为 pgsql 的文件夹,它具有下图所示的文件夹。

PostgreSQL pgsql 文件夹

如上图所示删除选定的文件夹,因为它们不是访问远程数据库所必需的。

剩余的文件夹是此方法所需的 bin 文件夹。进入 bin 文件夹并复制其位置的路径,如下所示。

PostgreSQL bin 位置

下一步是将此路径添加到系统环境变量,以便我们可以执行 PostgreSQL 命令。

单击 Windows 徽标键,搜索 Environment,然后在返回 Edit the system environment variables 选项时单击 Enter 键。

这将返回系统属性窗口,如下所示。

系统属性窗口

点击环境变量窗口,打开另一个窗口用户变量系统变量。选择路径选项并单击编辑按钮。

环境变量窗口

在打开的新窗口中,按 new 按钮并将我们复制的 PostgreSQL bin 文件夹的位置粘贴到空白字段中,如下所示。

PostgreSQL 系统变量

最后一步是验证我们是否可以从终端执行 PostgreSQL 命令。在此示例中,我们不会连接到任何远程数据库,但如果你有,请使用以下命令访问你的数据库。

>psql -h <host> -d <database> -U <username> -p <port> -W

打开 Windows 命令提示符以验证我们的配置是否正常工作,键入 psql,然后按键盘上的 Enter。如下所示,该命令尝试连接到本地 PostgreSQL 服务器,但由于我们没有安装任何 PostgreSQL 服务器,因此它不起作用。

PostgreSQL 连接测试

使用 PostgreSQL 安装程序安装 PostgreSQL 客户端工具

下载 PostgreSQL 安装程序 for Windows 并运行该软件。

该软件有几个可以安装的产品,如下所示,但由于我们只对命令行工具感兴趣,因此取消选择所有其他产品并单击下一步

PostgreSQL 安装程序

安装完成后,复制安装在 Program Files > PostgreSQL > 14 下的 bin 文件夹位置,如下所示。

bin 安装程序位置

下一步是安装并将位置添加到系统变量。我们上面介绍的步骤与此方法类似;因此没有必要重复它们。

确保删除我们之前添加的 PostgreSQL 环境变量。在位置 Program Files > PostgreSQL > 14 > bin 下添加新环境变量后,打开 Windows 命令提示符并使用 psql 命令再次测试配置。

该命令尝试连接到本地 PostgreSQL 服务器但不成功,因为我们没有安装任何数据库服务器,正如我们在前面的方法中看到的那样。

连接测试二

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub