14

我的机器上有一个本地开发站点,带有 Apache 服务器和 PostgreSQL 9.1 数据库。当我使用 Windows 时,我还安装了 Cygwin。我想通过 pgAdmin III 的 Cygwin insead 访问数据库并进行一些查询,但它告诉我找不到 psql 命令。我应该如何在 cygwin 中设置 psql 命令?

4

3 回答 3

16

到今天为止,你只需要在 cygwin中安装postgresql-client包:

  • 运行 cygwin setup.exe文件(可以多次运行以添加更多包)。
  • 在搜索框中输入 postgresql,选择postgresql - client并按“下一步”进行安装。

在此处输入图像描述

现在你可以打开 Cygwin 终端并输入psql来运行!

在此处输入图像描述

于 2017-01-11T02:14:03.397 回答
13

The best combo for Cygwin on Windows, I've found, is the normal Windows Postgres installation combined with Cygwin psql.

Cygwin psql (and other command-line tools) can be compiled from source fairly easily. Here's the steps for 9.2.4:

$ wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
$ tar xjf postgresql-9.2.4.tar.bz2
$ cd postgresql-9.2.4/
$ ./configure
$ cd src/bin/psql
$ make

This creates a psql.exe binary that works well with Cygwin. However, by default, it tries to connect to the local instance using a Unix socket instead of TCP. So use -h to specify the hostname and force TCP, for example:

$ ./psql -h localhost -U postgres

Move this psql.exe to someplace on your path (e.g. ~/bin) and possibly wrap in a script to add '-h localhost' for convenience when no other arguments supplied.

The source could be modified to change the default, but that takes actual work ;)

于 2013-05-25T18:01:06.097 回答
-1

如果我正确理解您的问题,您正在运行 cygwin,因为您想在 Windows 上通过 bash 和 psql 对 PostgreSQL 运行查询,对吗?

Cygwin 可以从 bash 运行 Windows 二进制文件,因此请安装本机 Windows 版本并确保 psql.exe 在PATH 您应该能够在必要时复制可执行文件。

无需安装 PostgreSQL 的本机 Cygwin 版本。只需使用现有的 psql 工具,并确保您可以访问 Windows 原生 psql.exe。

于 2013-04-22T06:35:05.437 回答