【问题标题】:postgresql-setup command and postgres service not found on AWS Linux在 AWS Linux 上找不到 postgresql-setup 命令和 postgres 服务
【发布时间】:2020-03-17 15:21:06
【问题描述】:

我一直在按照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,但也没有任何结果。

我的问题仍然存在,如果无法找到 postgresql-setup,我该如何初始化 postgres 以便将其识别为服务?谢谢。

【问题讨论】:

    标签: postgresql amazon-ec2 service amazon-linux


    【解决方案1】:

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

    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 进行配置,按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-20
      • 2012-06-29
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 2013-09-23
      相关资源
      最近更新 更多