2016-04-14 59 views
24

我在Windows 10 PC上安装了Postgresql。我使用pgAdmin II工具创建了一个名为company的数据库,现在我想启动数据库服务器运行。我无法弄清楚如何做到这一点。 我已经在postgres命令行上运行了启动命令,似乎没有任何事情发生。如何在Windows上启动PostgreSQL

我做的是:

postgres=# pg_ctl start 
postgres=# pg_ctl status 
postgres=# pg_ctl restart 
postgres=# pg_ctl start company 
postgres=# pg_ctl status 

.....->我看到什么回来。

+0

'psql'通常连接到正在运行的服务器。所以如果你可以启动'psql',那么Postgres已经在运行了 –

+0

谢谢。我可以看到现在发生了什么。 – Sean

回答

19

pg_ctl是一个命令行(Windows)程序而不是的SQL语句。你需要从cmd.exe这样做。或者使用net start postgresql-9.5

enter image description here


如果您已经安装过安装Postgres的,你应该启动Windows 服务,而不是手动运行pg_ctl,例如使用:

net start postgresql-9.5 

请注意,安装时服务的名称可能会有所不同。另一种方法是通过Windows控制面板


已经使用的pgAdmin II工具来创建一家名为

数据库这意味着Postgres的已经运行启动该服务,所以我不明白你为什么认为你需要再做一次。特别是因为安装程序通常会将该服务设置为在Windows启动时自动启动。


你没有看到任何结果的原因是,psql要求每一个SQL命令与你的情况;被终止它只是等着你来完成陈述。

在这里看到更多的细节:In psql, why do some commands have no effect?

+0

谢谢,我对现在正在发生的事情有所了解, – Sean

13

很多搜​​索和测试后,我找到了解决办法: 如果你是在Windows中:

1 - 首先你必须找到了PG数据库目录 执行该命令在pgAdmin的查询工具,SQL命令

$ show data_directory; 

结果:

------------------------ 
- D:/PG_DATA/data  - 
------------------------ 

2 - 转到我的情况下,它位于的Postgres bin目录“C:/ programms的/ PostgreSQL的/ bin中”

,并打开一个命令提示符(CMD),并执行此命令:

pg_ctl -D "D:\PSG_SQL\data" restart 

这应该这样做。

+0

这是重新启动服务器的解决方案 – ALWAN

4

进入安装Postgres的C驱动器的bin文件夹。 按照混帐bash或命令提示符下运行的命令: pg_ctl.exe重启-D “” 例如:pg_ctl.exe重启-D “C:\ Program Files文件\的PostgreSQL \ 9.6 \数据”

另一种方式: 在运行弹出窗口(windows + R)中键入“services.msc”。 这将显示所有正在运行的服务 从列表中选择Postgres服务,然后单击开始/停止/重新启动。

谢谢

+0

这应该是公认的答案。 –