我的机器上有一个本地开发站点,带有 Apache 服务器和 PostgreSQL 9.1 数据库。当我使用 Windows 时,我还安装了 Cygwin。我想通过 pgAdmin III 的 Cygwin insead 访问数据库并进行一些查询,但它告诉我找不到 psql 命令。我应该如何在 cygwin 中设置 psql 命令?
3 回答
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 ;)
如果我正确理解您的问题,您正在运行 cygwin,因为您想在 Windows 上通过 bash 和 psql 对 PostgreSQL 运行查询,对吗?
Cygwin 可以从 bash 运行 Windows 二进制文件,因此请安装本机 Windows 版本并确保 psql.exe 在PATH
您应该能够在必要时复制可执行文件。
无需安装 PostgreSQL 的本机 Cygwin 版本。只需使用现有的 psql 工具,并确保您可以访问 Windows 原生 psql.exe。