我在我的Linux Mint机器上安装了PostgreSQL 9.3
和9.4
。
如何重新启动PostgreSQL 9.4?
同时重新启动两个版本的方法也可以。
尝试将其作为 root 用户(也许您可以使用 sudo
或 su
):
/etc/init.d/postgresql restart
没有任何参数,脚本还为您提供了有关如何重新启动特定版本的提示
[Uqbar@Feynman ~] /etc/init.d/postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [version ...]
同样,如果您有它,您也可以使用service
工具:
[Uqbar@Feynman ~] service postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force reload|status} [version ...]
请注意可选的[version ...]
尾随参数。这意味着允许您(用户)对特定版本进行操作,以防您运行多个版本。因此,您可以重新启动版本 X,同时保持版本 Y 和 Z 不变并运行。
最后,如果您正在运行 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
替换为 stop
、 start
或 restart
以及其他操作。有关完整详细信息,请参阅文档。为了在多个并发版本上运行,语法略有不同。例如,要停止v12
并重新加载v13
您可以运行:
systemctl stop postgresql-12.service
systemctl reload postgresql-13.service
感谢@Jojo指出我这一点。最后 请记住,非信息性任务可能需要root
权限,如前面看到的其他情况。
您也可以使用此命令重新启动 postgresql,应该适用于两个版本:
sudo service postgresql restart
在 Windows 上:
1-按Winkey + R
打开运行窗口
2型services.msc
3-根据安装的版本搜索Postgres服务。
4-单击停止,启动或重新启动服务选项。
在 Linux 上:
sudo systemctl restart postgresql
您也可以代替"重新启动":停止或状态。
这应该有效:
sudo systemctl stop postgresql
sudo systemctl start postgresql
重新启动 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 服务器的启动、停止、重新启动等的更多详细信息。
您可以先检查 postgress 进程是否正在运行
ps -ef | grep post
您可能需要在 grep 端使用 (post|pg) 来发现在您的计算机上运行的 Postgres 服务的进程,这可能取决于您的操作系统。
您可以直接终止子进程,因为此过程的大部分应该自动重新启动。
sudo kill $pid_of_the_child_process
macOS:
- 在MacOS菜单栏的左上角,您有Postgres图标
- 单击它,这将打开一个下拉菜单
- 单击停止 -> 而不是单击开始
通过下面显示的步骤,我设法重新启动了位于/database/pgsql
目录中的Postgres服务器,该服务器最初是由其他用户启动
找出 Postgres 目录的所有者。
ls -l /database/pgsql
在我的情况下,所有者是Postgres用户。设置 Postgres 数据目录路径,否则重新启动会给出有关缺少数据目录路径
的错误export PGDATA='/database/pgsql/data'
使用以下命令重新启动 Postgres 服务器。
sudo -u postgres -E /database/pgsql/bin/pg_ctl restart
-u 以 postgres 用户 -E 的身份运行命令,因此 PGDATA变量值对命令可见。运行命令需要 sudo 权限。