質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

解決済

CentOS7でsystemctl start postgresがエラー

doc4
doc4

総合スコア66

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

4回答

0評価

0クリップ

46790閲覧

投稿2016/05/23 03:18

編集2016/05/23 13:57

環境
Virtualbox + vagrant
ホストOS: Windows7 64bit
ゲストOS: Linux version 3.10.0-327.18.2.el7.x86_64
CentOS Linux release 7.2.1511 (Core)
postgresqlのバージョン: psql (PostgreSQL) 9.2.15

CentOS7でpostgresqlをインストールしました。
下記のようにインストールとinitをおこない

sudo yum -y install postgresql-server postgresql-contrib postgresql-devel sudo postgresql-setup initdb

/var/lib/pgsql/data/pg_hba.confを編集しました。

その後、下記コマンドを実行したのですがエラーになってしまいます。

[vagrant@localhost]~/% 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. [vagrant@localhost]~/% sudo systemctl status postgresql master ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Mon 2016-05-23 10:51:01 JST; 48s ago Process: 3054 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=1/FAILURE) Process: 3048 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) May 23 10:51:00 localhost.localdomain systemd[1]: Starting PostgreSQL database server... May 23 10:51:01 localhost.localdomain pg_ctl[3054]: pg_ctl: could not start server May 23 10:51:01 localhost.localdomain systemd[1]: postgresql.service: control process exited, code=exited status=1 May 23 10:51:01 localhost.localdomain systemd[1]: Failed to start PostgreSQL database server. May 23 10:51:01 localhost.localdomain systemd[1]: Unit postgresql.service entered failed state. May 23 10:51:01 localhost.localdomain systemd[1]: postgresql.service failed.

いろいろ試して、下記のコマンドで起動できることを確認しました。

[vagrant@localhost]~% sudo -u postgres /usr/bin/pg_ctl start -D ${PGDATA} could not change directory to "/home/vagrant" server starting

しかし、まだ2つ問題が残っています。

  1. 引き続きsystemctlからpostgresqlを起動出来ないため、systemctl enable postgresql.service

しても自動起動しません。
2. systemctl start postgresqlとしたときは/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300が実行されるようなのですが、PGPORTはpostgresユーザでprintenvしても設定されていませんでした。そのためsystemctl start postgresqlはpオプションの引数なしでエラーになってしまいます。

どちらの問題も私の知識で無理やり回避することはできますがスマートな方法が知りたいので、「普通こうやるよ」という方法をどなたか教えていただけないでしょうか。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

takyafumin

2016/05/23 03:39 編集

virtualbox+vagrantのような仮想環境上に構築していますか? 事象が発生している環境をより詳細に記載いただけると回答がつきやすいかと思います。 * 仮想環境のバージョン(virtualboxやvagrantのバージョン) * ホストOS, ゲストOSバージョン(CentOSのバージョン), postgresqlのバージョン また起動時のエラー内容が詳細に分かると良いと思いますので、起動エラー時の下記のログ内容も追記すると良いかと思います。 * システムログ: /var/log/messages * postgresqlログ: /var/lib/pgsql/data/pg_log/ 配下のログファイル

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。