【问题标题】:How can I start PostgreSQL on Windows?如何在 Windows 上启动 PostgreSQL?
【发布时间】:2016-08-06 09:53:39
【问题描述】:

我已在我的 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

.....-> 我没有看到任何返回。

【问题讨论】:

  • psql 通常会连接到正在运行的服务器。所以如果你可以启动 psql 那么 Postgres 已经在运行了
  • 谢谢。我可以看到现在发生了什么。
  • 注意:pg_ctl 命令与服务器相关,net 命令与服务相关

标签: postgresql


【解决方案1】:

进入安装 Postgres 的 C 盘中的 bin 文件夹。 在 git bash 或命令提示符下运行以下命令:

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

例如:

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

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

谢谢

【讨论】:

    【解决方案2】:

    pg_ctl 是命令行 (Windows) 程序不是 SQL 语句。您需要通过cmd.exe 执行此操作。或者使用net start postgresql-9.5


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

    net start postgresql-9.5
    

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


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

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


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

    更多详情请看这里:In psql, why do some commands have no effect?

    【讨论】:

    • 出现以下错误 E:\Softwares\postgresql-12.4-1-windows-x64-binaries\pgsql\bin>pg_ctl -D datadir start pg_ctl: directory "datadir" does not exist
    • 这个答案比上面的答案stackoverflow.com/questions/26441873/…
    【解决方案3】:

    如果你已经通过 Windows 安装程序安装了 postgres,你可以像这样在服务中启动它:

    【讨论】:

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

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

    1 - 首先你必须找到 PG 数据库目录 在 pgAdmin 查询工具中将命令作为 sql 命令执行

    $ show data_directory;
    

    结果:

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

    2 - 转到 postgres 的 bin 目录,在我的例子中它位于 "c:/programms/postgresSql/bin"

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

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

    应该这样做。

    【讨论】:

    • 解决办法是重启服务器
    • 使用pg_ctl -D "D:\PSG_SQL\data" start 应该启动服务器。
    【解决方案5】:

    对于 Windows,以下命令对我很有效

    pg_ctl.exe 重启 -D ""

    例如:pg_ctl.exe restart -D "D:\Program Files\PostgreSQL\13\data"

    【讨论】:

      【解决方案6】:

      如果您收到错误“psql.exe' 无法识别为内部或外部命令,...”

      可以有: 原因

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

      或 - 您的 PC 上未安装 PostgreSQL 数据库客户端

      由于您已经安装了 PostgreSQL,因此后者不可能是问题(假设一切都按预期安装)

      为了解决第一个问题,“请在此工具所在的 PostgreSQL 安装文件夹中指定 bin 目录的完整路径。”

      例如

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

      【讨论】:

        【解决方案7】:

        我发现使用

        net start postgres_service_name

        在 Windows 上运行 Postgres 的唯一可靠方法

        【讨论】:

          【解决方案8】:

          首先找到保存它的二进制文件。 获取终端矿井中的路径是

          C:\Users\LENOVO\Documents\postgresql-9.5.21-1-windows-x64-binaries (1)\pgsql\bin

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

          C:\usr\local\pgsql\data
          

          现在我们必须在二进制终端路径中点击以下命令:

          C:\Users\LENOVO\Documents\postgresql-9.5.21-1-windows-x64-binaries (1)\pgsql\bin>pg_ctl -D "C:\usr\local\pgsql\data" start

          全部完成!

          autovaccum 启动器已启动!干杯!

          【讨论】:

            【解决方案9】:

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

            并重启 PostgreSQL 服务

            【讨论】:

              【解决方案10】:

              PostgreSql 数据库有多种打开方式。 1> 其中之一是通过 windows 并选择 pgAdmin4 或 pgAdmin3 取决于您使用的版本并输入密码您可以访问您的数据库。

              2> 另一个是终端: 为了能够从终端中选择,您必须通过环境变量添加已安装 postgresql 的路径。为此,必须安装 postgresql 文件并选择 bin 的路径并添加到 window setting 的环境变量中。 之后你可以在终端输入: psql -U postgres -h localhost

              点击回车,它会询问你密码。输入密码后,您可以创建数据库和表并可以访问它。

              【讨论】:

                【解决方案11】:

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

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

                必须根据已安装的 PostgreSQL 服务器版本更改版本号。

                【讨论】:

                  【解决方案12】:

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

                  【讨论】:

                    【解决方案13】:

                    我试图用 Windows 终端解决问题,但我无法解决。使用 Windows R + cmd(如果您使用的是 Windows)就可以了!

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2017-04-15
                      • 2017-12-10
                      • 1970-01-01
                      • 2021-08-10
                      • 2013-08-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多