在Cygwin中启用Postgresql

8

我安装了 Cygwin 并启用了 Perl 和 Postgresql 包。

然后输入:

 /usr/bin/cygserver-config (This will install the service)

然后输入:<\p>
net start cygserver(This starts the service)

接下来我需要在Cygwin中启用Postgresql,所以我尝试了下面提到的命令:

cygrunsrv -S cygserver

initdb -D /usr/share/postgresql/data

pg_ctl start -D /usr/share/postgresql/data -l /var/log/postgresql.log

createdb

psql

我遇到了一个错误:
$ initdb -D /usr/share/postgresql/data
-bash: initdb: command not found

$ pg_ctl start -D /usr/share/postgresql/data -l /var/log/postgresql.log
-bash: pg_ctl: command not found

有人能告诉我如何做对它吗?
1个回答

13

PostgreSQL的initdbpg_ctl可执行文件位于/usr/sbin

我猜测你的PATH设置中没有包含/usr/sbin。添加这个路径应该就能解决问题了。

我使用一个启动/停止脚本,将其保存在$HOME/bin下并命名为pg。以下是gist链接


我执行了前三个命令,但是一旦我执行了“createdb”命令,出现了如下提示:$ createdb 数据库名称 createdb: 无法连接到数据库模板1: 无法连接到服务器: 没有这样的文件或目录。 该服务器是否在本地运行,并且接受 在Unix域套接字“/tmp/.s.PGSQL.5432”上的连接? - Sid
@sid,这似乎是与您最初的问题报告不同的问题。看起来pg_ctl甚至还没有启动。您应该先检查一下。 - buruzaemon
我启动了pg_ctl服务,它打印了一个服务器启动命令。我能通过电子邮件向您准确地发送我的疑问和屏幕截图吗? - Sid
尝试放弃使用Windows服务的方法,只需使用以下命令启动Cygwin服务器后台进程服务:export CYGWIN=server; /usr/sbin/cygserver -E &。等待cygserver完成启动,然后尝试启动pg_ctl - buruzaemon
@TK-421,别担心,我很高兴听到有人在使用那个脚本! - buruzaemon
1
另外,我正在使用它在OS X上,所以如果有人正在寻找一个简单的Postgres/Mac脚本,只需在上面的要点中注释掉Cygwin即可。 - TK-421

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接