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

标签 postgresql amazon-ec2 service amazon-linux

我一直在根据概述的步骤使用 postgreSQL 配置 EC2 实例 in this tutorial .我正在使用 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 以便它可以被识别为服务?谢谢。

最佳答案

我能够通过对引用教程/问题中的配置说明进行轻微修改来解决我的问题。

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 ... 来运行它,这取决于当前的角色,但我最终收到了:

Success. You can now start the database server using:

postgres -D /var/lib/pgsql or pg_ctl -D /var/lib/pgsql -l logfile start

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

关于在 AWS Linux 上找不到 postgresql-setup 命令和 postgres 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58979227/

相关文章:

python - Django 意外的 IntegrityError 与 PostgreSQL

ssl - 客户端、负载均衡器和服务器之间的安全连接

javascript - 错误 : Could not resolve module @angular/core

node.js - 代理到 Node/Express 上游时不常见的 NGINX 错误/超时(连接到上游时上游超时)

c# - 使用 WCF 服务开发 iOS 应用程序

C#服务层设计模式

Android后台服务崩溃而它滑出

Postgresql jsonb遍历

sql - pgSQL 上的括号错误

ruby-on-rails - 我应该在 rails 中为 postgresql 函数创建迁移吗?