我在我的Linux Mint机器上安装了PostgreSQL 9.3
和9.4
。
如何重启PostgreSQL 9.4?
同时重启两个版本的方法也可以。
我在我的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不变且运行时,您可以重新启动版本X和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
权限。
systemctl
可以在不同版本的 Postgresql 上工作。您可以使用 systemctl status postgresql@13-main.service
来指定它。将 13 替换为您想要处理的版本号。 - Jojostatus postgresql
的状态为 “exited”,则真实状态应该是 systemctl status postgresql@12-main.service
。 - Алексей Неудачин您也可以使用此命令重新启动postgresql,适用于两个版本:
sudo service postgresql restart
在 Windows 上:
1- 使用 Winkey + R
组合键打开运行窗口。
2- 输入 services.msc
。
3- 根据安装的版本搜索 Postgres 服务。
4- 单击停止、启动或重新启动服务选项。
在 Linux 上:
sudo systemctl restart postgresql
另外,您可以使用“停止”或“状态”替换“重新启动”。
如果您没有将pg_ctl添加到路径中,则通常可以在usr/local/pgsql/bin/pg_ctl位置找到它。pg_ctl restart -D /home/postgres/postgresdbdata/
ps -ef | grep post
您可能需要在grep命令中使用(post|pg)来发现在您的计算机上运行的Postgres服务的进程,这可能取决于您的操作系统。
由于大多数此进程应该会自动重新启动,因此您可以直接杀死子进程。
sudo kill $pid_of_the_child_process
macOS:
通过以下步骤,我成功重启了位于/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权限才能运行命令。
[root@95 pgsql]# service postgresql-14 status
[root@95 pgsql]# psql --version