2016-04-14 683 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

這應該是公認的答案。 –