在AWS Linux上找不到postgresql-setup命令和postgres服务

问题描述 投票:0回答:1

我已根据in this tutorial概述的步骤使用postgreSQL配置EC2实例。我正在使用AWS Linux 2018-03,并通过以下方式安装了postgres92

$ sudo yum install postgresql postgresql-server postgresql-devel postgresql-contrib postgresql-docs

我的理解是,我应该能够使用以下命令直接初始化postgres:

$ sudo postgresql-setup initdb

this related question中所述(注意:似乎我也需要执行此步骤,我现在还无法将postgres作为服务运行)。但是,对postgresql-setup的调用返回:

sudo: postgresql-setup: command not found

我也尝试过find / postgresql-setup只是为了查看它是否挂在系统上的某个地方,但这没有任何作用。我无法通过sudo service postgres ...命令启动postgres,因为该服务尚未被识别。我已确认该服务未通过以下方式运行:

$ sudo service postgres status

这只是告诉我该服务无法识别,我还检查了ps -ef | grep postgres,它也没有显示任何内容。

我的问题仍然存在,我如何初始化postgres以便将其识别为服务给出postgresql-setup找不到的位置?谢谢。

postgresql amazon-ec2 service amazon-linux
1个回答
0
投票

我能够通过稍微修改参考的教程/问题中的配置说明来解决我的问题。

1。用于初始化数据库的不同调用

[似乎PostgreSQL在v9上做了一些相当大的名称更改,使得postgresql-setup --initdbpostgresql-setup initdb现在等效于initdb

首先,可能需要更改数据目录的权限/所有权。典型用户为postgres

$ sudo chmod 775 /var/lib/pgsql92
$ sudo chown USER /var/lib/pgsql92

使用以下方法初始化数据库:

$ initdb -D /var/lib/pgsql92

可能需要sudo -u USER ...才能运行此程序,具体取决于当前角色,但我终于收到了:

成功。您现在可以使用以下命令启动数据库服务器:

postgres -D / var / lib / pgsql要么pg_ctl -D / var / lib / pgsql -l日志文件开始

2。其他服务名称

最后,this post被证明在诊断围绕postgres作为无法识别的服务的问题方面非常有帮助。许多流行的教程都建议使用sudo service postgres start,但是使用

检查运行级别3服务(不是我知道那是什么,但是this Gunther Schadow guy确实可以)
$ ls -1 /etc/rc.d/rc3.d | fgrep post

表明我们确实应该将服务称为postgresql。如果我们执行以下操作:

$ sudo service postgresql initdb
$ sudo service postgresql start

我们实际上是要运行该服务,其余过程只是通过psql进行配置,可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.