我的机器上有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终端并输入psql来运行!
如果我正确理解你的问题,你正在运行cygwin,因为你想在Windows上通过bash和psql运行对PostgreSQL的查询,对吗?
Cygwin可以从bash运行Windows二进制文件,因此安装本地Windows版本并确保psql.exe位于PATH
。如果需要,您应该能够复制可执行文件。
没有必要安装PostgreSQL的本地Cygwin版本。 只需使用现有的psql工具,并确保您可以访问Windows本机psql.exe。