无法启动 PostgreSQL
Not able to start PostgreSQL
有一台CentOS7Linux机器运行(不是我管理的;权限有限to/in)。
请求在其中设置 PostgreSQL。
刚刚从 CentOS 存储库安装了 PostgreSQL:
sudo yum install postgresql-server postgresql-contrib
一切顺利。
然后初始化数据库:
sudo yum install postgresql-server postgresql-contrib
一切顺利。
但随后开始:
sudo systemctl start postgresql
失败:
Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.
我无法访问 systemd-journal,所以 "journalctl -xe" 没有任何意义,但是:
systemctl status postgresql.service
returns:
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2020-04-24 16:41:04 EEST; 33s ago
Process: 30690 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=1/FAILURE)
Process: 30684 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
postgres --version
postgres (PostgreSQL) 9.2.24
知道这里可能有什么问题吗?要继续吗?
您的机器上必须同时安装 PostgreSQL 9.2 和 9.3。卸载它们并从 PostgreSQL 站点安装版本 12。删除数据目录并使用 v12 安装创建一个新目录。然后重试。
正如 echo $PGDATA
所示,您也有 PG9.3。这意味着 9.2 服务将不会启动,因为端口 5432 可能已经被 postgres 9.3 占用
执行以下操作
ps- ef | grep postgres
并获取 postgres 进程 ID 并终止所有 postgres 进程。
使用
删除 9.3 数据目录
rm -rf /var/lib/pgsql/9.3
使用下面的命令
转到/usr/pgsql-9.2/bin
和运行 initdb
./postgresql92-setup initdb
之后使用
启动postgresql-9.2服务
systemctl start postgresql-9.2.service
有一台CentOS7Linux机器运行(不是我管理的;权限有限to/in)。
请求在其中设置 PostgreSQL。
刚刚从 CentOS 存储库安装了 PostgreSQL:
sudo yum install postgresql-server postgresql-contrib
一切顺利。
然后初始化数据库:
sudo yum install postgresql-server postgresql-contrib
一切顺利。
但随后开始:
sudo systemctl start postgresql
失败:
Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.
我无法访问 systemd-journal,所以 "journalctl -xe" 没有任何意义,但是:
systemctl status postgresql.service
returns:
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2020-04-24 16:41:04 EEST; 33s ago
Process: 30690 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=1/FAILURE)
Process: 30684 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
postgres --version
postgres (PostgreSQL) 9.2.24
知道这里可能有什么问题吗?要继续吗?
您的机器上必须同时安装 PostgreSQL 9.2 和 9.3。卸载它们并从 PostgreSQL 站点安装版本 12。删除数据目录并使用 v12 安装创建一个新目录。然后重试。
正如 echo $PGDATA
所示,您也有 PG9.3。这意味着 9.2 服务将不会启动,因为端口 5432 可能已经被 postgres 9.3 占用
执行以下操作
ps- ef | grep postgres
并获取 postgres 进程 ID 并终止所有 postgres 进程。
使用
删除 9.3 数据目录rm -rf /var/lib/pgsql/9.3
使用下面的命令
转到/usr/pgsql-9.2/bin
和运行 initdb
./postgresql92-setup initdb
之后使用
启动postgresql-9.2服务systemctl start postgresql-9.2.service