How can I start PostgreSQL on Windows?

我已经在我的 Windows10电脑上安装了 Postgreql。我使用 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

我什么都没看到。

431529 次浏览

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 工具创建了一个名为 company 的数据库

也就是说 Postgres 已经开始运作了,所以我不明白你为什么还要再来一次。尤其是因为安装程序通常会在 Windows 启动时将服务设置为自动启动。


你没有看到任何结果的原因是,在你的情况下,psql要求每个 SQL命令与 ;一起终止,它只是在等待你完成语句。

See here for more details: 在 psql 中,为什么有些命令没有效果?

经过大量的搜索和测试,我找到了解决办法: 如果你在窗口:

1 - first you must found the PG databases directory 在 pgAdmin 查询工具中以 sql 命令的形式执行命令

$ show data_directory;

结果:

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

2-转到我的 postgres 的 bin 目录,它位于 “ c:/program/postgresql/bin”

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

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

这个应该够了。

进入安装 Postgres 的 C 驱动器的 bin 文件夹。 run following command in git bash or Command prompt:

pg_ctl.exe restart -D "<path upto data>"

例如:

pg_ctl.exe restart -D  "C:\Program Files\PostgreSQL\9.6\data"

Another way: 在运行弹出窗口(windows + R)中键入“ services.msc”。 这将显示正在运行的所有服务 从列表中选择 Postgres service 并单击 start/stop/start。

谢谢

如果您得到一个错误“ psql.exe’不能识别为内部或外部命令,...”

可以有: 原因

  • 系统无法找到 psql.exe 工具,因为该工具的路径没有在系统环境变量 PATH 中指定

或者 - 计算机上没有安装 PostgreSQL 数据库客户端

因为您已经安装了 PostgreSQL,所以后者不会成为问题(假设一切都按预期安装)

为了修复第一个“ PostgreSQL 安装文件夹中的 请指定 bin 目录的完整路径,该工具位于该文件夹中。”

比如说

路径: “ C: Program Files PostgreSQL 10 bin”

我发现使用

net start postgres_service_name

the only reliable way to operate Postgres on Windows

如果你已经通过 Windows Installer 安装了 postgres,你可以这样启动服务:

enter image description here

删除“ C: Program Files PostgreSQL 9.6 data”中的 Postmaster 文件

并重新启动 PostgreSQL 服务

first find your binaries file where it is saved. 得到终端矿井的路径是

用户联想文档 postgreql-9.5.21-1-windows-x64-二进制文件 (1)\pgsql\bin

然后找到你的本地用户数据路径,它是在大多数

C:\usr\local\pgsql\data

现在我们只需要在二进制终端路径中按下下面的命令:

C: 用户联想文档 postgreql-9.5.21-1-windows-x64-binaries (1) pgsql bin > pg_ctl -D "C:\usr\local\pgsql\data" start

all done!

自动真空发射器启动! 干杯!

启用 pg _ ctl 命令的最简单方法是转到 PostgreSQL 目录 ~\PostgreSQL\version\bin\并执行 pg_ctl.exe。之后,pg _ ctl 命令将可用。

打开 PostgreSql 数据库有不同的方法。 其中之一是通过转到 windows 并选择 pgAdmin4或 pgAdmin3取决于您使用的版本和输入密码可以访问您的数据库。

2 > 另一个是终端: 为了能够从终端中进行选择,您必须通过环境变量添加已安装的 postgreql 的路径。为了做到这一点,安装 postgreql 文件,选择 bin 的路径,并添加到窗口设置的环境变量。 然后可以输入终端: psql-U postgres-h localhost

Hit enter and it ask you password . After giving password you can create database and tables and can access it .enter image description here

enter image description here

对于 windows,下面的命令对我很有效

重新启动 pg _ ctl.exe-D“ < path _ to _ data >”

例如: pg _ ctl.exe start-D“ D: Program Files PostgreSQL 13 data”

enter image description here

我试图用 Windows 终端解决这个问题,但我不能解决它。使用 Windows R + cmd (如果您使用 Windows)为它的工作!

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

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

版本号必须更改,以考虑 PostgreSQLServer 的安装版本。