【问题标题】:How to restart Postgresql如何重启 Postgresql
【发布时间】:2016-04-27 08:38:55
【问题描述】:

我的 Linux Mint 机器上安装了 PostgreSQL 9.39.4

如何重启 PostgreSQL 9.4?

同时重启两个版本的方法也可以。

【问题讨论】:

  • 你搜索过网络吗? codeproject.com/Articles/898303/…
  • 我建议将您的数据迁移到 9.4,然后删除 9.3 安装。
  • @kometen 引用的文章没有提供有选择地启动和停止每个实例的方法。
  • @JanHenke 我不会提出任何超出问题范围的建议。无论如何,v9.5 是当前的稳定版本。
  • @Enzo 他说他有两个版本并行运行。所以我只是建议迁移到两者中较新的,这也可以解决问题,因为只剩下一个 postgresql。

标签: postgresql linux-mint


【解决方案1】:

以root身份试试这个(也许你可以使用sudosu):

/etc/init.d/postgresql restart

在没有任何参数的情况下,脚本还会提示您如何重新启动特定版本

[Uqbar@Feynman ~] /etc/init.d/postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [version ...]

同样,如果您have it,您也可以使用service 工具:

[Uqbar@Feynman ~] service postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force reload|status} [version ...]

请注意可选的[version ...] 尾随参数。 这意味着允许您(用户)对特定版本采取行动,以防您运行多个版本。因此,您可以重新启动版本 X,同时保持版本 YZ 不变并运行。

最后,如果你正在运行systemd,那么你可以像这样使用systemctl

[Uqbar@Feynman ~] systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-11-14 12:33:35 CET; 7min ago
...

您可以将status 替换为stopstartrestart 以及其他操作。详情请参阅documentation。 为了对多个并发版本进行操作,语法略有不同。例如 stop v12reload v13 你可以运行:

systemctl stop postgresql-12.service
systemctl reload postgresql-13.service

感谢@Jojo 将我指向这个。 最后请记住,与前面看到的其他情况一样,非信息性任务可能需要root 权限。

【讨论】:

  • 你能举个例子吗?版本号似乎没有任何作用。
  • 您是否尝试过,例如“/etc/init.d/postgresql status 10”?
  • systemctl 适用于不同版本的 Postgresql。您可以使用systemctl status postgresql@13-main.service 指定它。将 13 替换为您要处理的版本号。
  • 如果只是 status postgresql 被“退出”,那么真实状态将是 systemctl status postgresql@12-main.service
【解决方案2】:

您也可以使用此命令重新启动 postgresql,应该在两个版本上都可以使用:

sudo service postgresql restart

【讨论】:

  • 对我来说,如果已经运行,这似乎没有任何作用。 (做“重启”而不是在那里开始似乎确实有效)
【解决方案3】:

在 Windows 上:

1-Winkey + R打开运行窗口

2-Type services.msc

3-根据安装的版本搜索 Postgres 服务。

4-单击停止、启动或重新启动服务选项。

在 Linux 上:

sudo systemctl restart postgresql

您也可以替换为:status、stop 或 status,而不是“restart”。

【讨论】:

  • OP 说“我的 Linux Mint 机器上安装了 Postgresql 9.3 和 9.4。”... Linux ... 现在是 Windows!
  • @EnzoR 我的回答涵盖了 Linux 和 Windows !!!这是错的吗??也许有人需要它 :) 伙计,别太难了
  • 不努力。我的 OP 是关于 Linux 的,同时大约有 2 个版本。您的答案是关于 Windows 和 Linux,并且只有一个默认版本。我只是说你的答案不准确。
【解决方案4】:

ma​​cOS:

  1. 在 MacOS 菜单栏的左上角有 Postgres 图标
  2. 点击它会打开一个下拉菜单
  3. 点击停止 -> 而不是点击开始

【讨论】:

  • 在 macOS 上,您有一个顶部菜单栏,通常存储时钟、搜索图标……以及一些您可以打开的正在运行的迷你应用程序。在那里你也可以看到 postgres 的大象图标。
  • 我使用的是 macOS Mojave 10.14.6,顶部菜单没有显示这样的图标。但我的数据库管理器显示 Postgres 服务器处于活动状态。
  • OP 说“我的 Linux Mint 机器上安装了 Postgresql 9.3 和 9.4。”... Linux ... 现在是 macOS!
【解决方案5】:

这应该可行:

sudo systemctl stop postgresql

sudo systemctl start postgresql

【讨论】:

    【解决方案6】:

    可以先检查postgress进程是否运行

    ps -ef | grep post
    

    您可能需要在 grep 端使用 (post|pg) 来发现您机器上运行的 Postgres 服务的进程,这可能取决于您的操作系统。

    你可以直接杀死子进程,因为这个进程的大部分应该会自动重启。

    sudo kill $pid_of_the_child_process
    

    【讨论】:

      【解决方案7】:

      重启postgres服务器的正确方法是使用

      pg_ctl restart -D /home/postgres/postgresdbdata/

      pg_ctl 如果您没有,通常位于 usr/local/pgsql/bin/pg_ctl 位置它已添加到您的路径中。

      文档可以在这里找到 https://www.postgresql.org/docs/13/app-pg-ctl.html 这有更多关于 postgres 服务器的启动、停止、重启等的详细信息。

      【讨论】:

        猜你喜欢
        • 2015-06-04
        • 1970-01-01
        • 2011-12-20
        • 2016-01-27
        • 1970-01-01
        • 2020-02-23
        • 1970-01-01
        • 1970-01-01
        • 2014-05-14
        相关资源
        最近更新 更多