PostgreSQL 教程: 在 Ubuntu 上重启 PostgreSQL

六月 29, 2024

摘要:在本教程中,您将学习如何使用systemctlservice命令和pg_ctl命令,在 Ubuntu 上重新启动 PostgreSQL。

目录

我们假设您有足够的权限来重新启动 PostgreSQL 服务,或者可以使用sudo提供的 root 权限执行命令。

使用 systemctl 在 Ubuntu 上重启 PostgreSQL

首先,打开一个终端或 SSH 连接到服务器,该服务器正在运行 PostgreSQL。

第二步,执行下面命令,重启 PostgreSQL 服务器。

sudo systemctl restart postgresql

第三步,使用下面命令检查 PostgreSQL 服务的状态:

/etc/init.d/postgresql status

使用 service 命令在 Ubuntu 上重启 PostgreSQL

或者,您可以使用 service 命令来重新启动 PostgreSQL 服务:

sudo service postgresql restart

使用 pg_ctl 命令在 Ubuntu 上重启 PostgreSQL

如果您想要显示更多有关重启过程的详细信息,则可以使用pg_ctl命令:

sudo -u postgres pg_ctl restart -D /var/lib/postgresql/<version>/main

在此命令中,您需要替换<version>为您的 PostgreSQL 版本号。

请注意,默认情况下,数据目录在/var/lib/postgresql/<version>/main。如果您的 PostgreSQL 数据目录不同,则需要对其进行相应的调整。

例如,要重新启动 PostgreSQL 16.x,您可以使用下面的命令:

sudo -u postgres pg_ctl restart -D /var/lib/postgresql/16/main

如果遇到以下错误,则可能是因为pg_ctl不在系统的 PATH 环境变量中:

sudo: pg_ctl: command not found

要修复它,您需要在/usr/local/bin/目录下创建一个 pg_ctl 的符号链接:

sudo ln -s /usr/lib/postgresql/<version>/bin/pg_ctl /usr/local/bin/pg_ctl

请将<version>替换为您的 PostgreSQL 版本号。

例如,以下命令在 Ubuntu 上重新启动 PostgreSQL 16.x:

sudo -u postgres pg_ctl restart -D /var/lib/postgresql/16/main

现在,您应该能够从任何目录使用pg_ctl了。