如何在cygwin中设置psql命令?

时间:2013-01-23 21:21:12

标签: apache postgresql cygwin psql

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

3 个答案:

答案 0 :(得分:13)

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

  • 运行您的cygwin setup.exe 文件(这可以多次运行到 添加更多包)。
  • 在搜索框中输入 postgresql ,选择 postgresql-client 和 按" next"安装。

enter image description here

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

enter image description here

答案 1 :(得分:12)

我发现,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”,以便在没有提供其他参数的情况下添加。

可以修改源以更改默认值,但这需要实际工作;)

答案 2 :(得分:-1)

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

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

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