如何在Windows上启动PostgreSQL

Sea*_*ean 57 postgresql

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

我在做的是:

postgres=# pg_ctl start
postgres=# pg_ctl status
postgres=# pg_ctl restart
postgres=# pg_ctl start company
postgres=# pg_ctl status
Run Code Online (Sandbox Code Playgroud)

.....->我什么都没看见.

a_h*_*ame 38

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

在此输入图像描述


如果您已通过安装程序安装了Postgres,则应启动Windows 服务而不是pg_ctl手动运行,例如使用:

net start postgresql-9.5
Run Code Online (Sandbox Code Playgroud)

请注意,安装中的服务名称可能有所不同.另一种选择是通过Windows控制面板启动服务


使用pgAdmin II工具创建了一个名为company的数据库

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


您没有看到任何结果的原因是psql需要在您的情况下终止每个SQL命令,;它只是等待您完成语句.

有关更多详细信息,请参见此处:在psql中,为什么某些命令无效?


小智 22

进入安装了Postgres的C盘中的bin文件夹.在git bash或命令提示符下运行以下命令:pg_ctl.exe restart -D""Ex:pg_ctl.exe restart -D"C:\ Program Files\PostgreSQL\9.6\data"

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

谢谢


ALW*_*WAN 21

经过大量的搜索和测试,我找到了解决方案:如果你在windows中:

1 - 首先必须找到PG数据库目录,在pgAdmin查询工具中以sql命令的形式执行命令

$ show data_directory;
Run Code Online (Sandbox Code Playgroud)

结果:

------------------------
- D:/PG_DATA/data      -
------------------------
Run Code Online (Sandbox Code Playgroud)

2 - 在我的情况下转到postgres的bin目录,它位于"c:/ programms/postgresSql/bin"

并打开命令提示符(CMD)并执行以下命令:

pg_ctl -D "D:\PSG_SQL\data" restart
Run Code Online (Sandbox Code Playgroud)

这应该做到这一点.

  • 这是重新启动服务器的解决方案 (3认同)

Mat*_*ock 10

如果您已通过Windows安装程序安装了postgres,则可以在"服务"中启动它,如下所示:

在此输入图像描述

  • 是的,是的,这个!服务窗口实际上会告诉您失败的原因。服务是否未运行或未按预期启动等。 (3认同)
  • 这应该是 Windows 的正确答案。我确信 pg_ctl.exe 可以工作,并且 net start 的作用与此答案相同,除了从命令行,并且您必须知道服务的名称才能执行此操作(我猜如果您知道服务的名称,您不需要回答这个问题)。 (2认同)

小智 7

在 Windows 设备上启动/停止/重新启动已安装的 PostgreSQL 服务器的最简单方法如下:

  • 开始->net start postgresql-x64-14
  • 停止->net stop postgresql-x64-14
  • 重新启动->net stop postgresql-x64-14 && net start postgresql-x64-14

必须更改版本号以考虑 PostgreSQL 服务器的安装版本。