如何在cygwin中设置psql命令?

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

Windows上Cygwin的最佳组合,我发现,正常的Windows Postgres安装结合Cygwin psql。

Cygwin psql(和其他命令行工具)可以很容易地从源代码编译。 以下是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 

这会创建一个与Cygwin一起使用的psql.exe二进制文件。 但是,默认情况下,它尝试使用Unix套接字而不是TCP连接到本地实例。 因此,使用-h指定主机名并强制TCP,例如:

 $ ./psql -h localhost -U postgres 

将这个psql.exe移动到你的路径上的某个地方(例如〜/ bin),并且可能包装在一个脚本中,以便在没有提供其他参数的情况下添加'-h localhost'。

源可以被修改来改变默认值,但这需要实际的工作;)

截至今天,您只需在cygwin中安装postgresql-client包:

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

在这里输入图像说明

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

在这里输入图像说明

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

Cygwin可以从bash运行Windows二进制文件,因此安装本地Windows版本并确保psql.exe位于PATH 。如果需要,您应该能够复制可执行文件。

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