2016-07-25 23 views
2

RHEL6/32ビットとRHEL6/64ビットで実行されているアプリケーションがあります。このアプリケーションは、最初からpostgresql 8.4を使用しています。今、RHEL7/64ビットでこのアプリケーションをサポートしたいと考えています。 RHEL7には、yumリストにデフォルトのpostgresql 9.2が付属しています。これはインストールされており、関連するサービスも正しく実行されています。しかし、RHEL7にpostgresql 8.4をインストールした後は、サービスが実行されていないようです。ログの下に見つけてください:journalctl -xeRHEL 7でpostgresqlサービスが実行されていません

[[email protected] postgres]# journalctl -xe 
Jul 25 14:39:21 linpubn218.gl.avaya.com yum[29260]: Installed: postgresql84-libs-8.4.17-1PGDG.rhel6.x86_64 
Jul 25 14:39:45 linpubn218.gl.avaya.com yum[29275]: Installed: postgresql84-8.4.17-1PGDG.rhel6.x86_64 
Jul 25 14:40:01 linpubn218.gl.avaya.com useradd[29316]: failed adding user 'postgres', exit code: 9 
Jul 25 14:40:02 linpubn218.gl.avaya.com CROND[29320]: (root) CMD (/usr/lib64/sa/sa1 1 1) 
Jul 25 14:40:02 linpubn218.gl.avaya.com systemd[1]: Reloading. 
Jul 25 14:40:03 linpubn218.gl.avaya.com systemd[1]: Configuration file /usr/lib/systemd/system/auditd.service is marked world-inaccessible. This has no effect as config 
Jul 25 14:40:03 linpubn218.gl.avaya.com yum[29309]: Installed: postgresql84-server-8.4.17-1PGDG.rhel6.x86_64 
Jul 25 14:42:05 linpubn218.gl.avaya.com polkitd[819]: Registered Authentication Agent for unix-process:29459:43987285 (system bus name :1.292 [/usr/bin/pkttyagent --not 
Jul 25 14:42:05 linpubn218.gl.avaya.com systemd[1]: Starting SYSV: PostgreSQL database server.... 
Jul 25 14:42:06 linpubn218.gl.avaya.com runuser[29473]: pam_unix(runuser-l:session): session closed for user postgres 
Jul 25 14:42:08 linpubn218.gl.avaya.com postgresql[29464]: Starting postgresql service: [ OK ] 
Jul 25 14:42:08 linpubn218.gl.avaya.com systemd[1]: PID file /var/run/postmaster-8.4.pid not readable (yet?) after start. 
Jul 25 14:42:08 linpubn218.gl.avaya.com systemd[1]: Failed to start SYSV: PostgreSQL database server.. 

にログを見た後

[[email protected] postgres]# service postgresql status 
postgresql.service - SYSV: PostgreSQL database server. 
    Loaded: loaded (/etc/rc.d/init.d/postgresql) 
     Active: failed (Result: resources) since Mon 2016-07-25 12:40:28 IST; 2h 0min ago 
      Docs: man:systemd-sysv-generator(8) 

Jul 25 12:40:26 linpubn218.gl.avaya.com systemd[1]: Starting SYSV: PostgreSQL database server.... 
Jul 25 12:40:28 linpubn218.gl.avaya.com postgresql[26957]: Starting postgresql service: [ OK ] 
Jul 25 12:40:28 linpubn218.gl.avaya.com systemd[1]: PID file /var/run/postmaster-8.4.pid not readable (yet?) after start. 
Jul 25 12:40:28 linpubn218.gl.avaya.com systemd[1]: Failed to start SYSV: PostgreSQL database server.. 
Jul 25 12:40:28 linpubn218.gl.avaya.com systemd[1]: Unit postgresql.service entered failed state. 
Jul 25 12:40:28 linpubn218.gl.avaya.com systemd[1]: postgresql.service failed. 
Jul 25 14:33:45 linpubn218.gl.avaya.com systemd[1]: Unit postgresql.service cannot be reloaded because it is inactive. 
Jul 25 14:33:45 linpubn218.gl.avaya.com systemd[1]: Unit postgresql.service cannot be reloaded because it is inactive. 

はsystemdに基づいたOSであるRHEL7、上にインストールする8.4 PostgreSQLのことはできますか?はいの場合は、上記のエラーを取り除くために何をすべきですか?

+0

念のためには、あなたはそのv9.2の別のポートでV8.4を実行していますか? –

+0

RHEL7を持つ新しいシステムからすべてのpostgresqlインスタンスをアンインストールしました。その後、デフォルトのポート5432を使用しているpostgresql 8.4を新しくインストールしようとしました –

答えて

0

一般的に権限がこのタイプのエラーその後

su - postgres 

原因:

chmod 700 -R <data_directory> 

をそして、あなたが同様にSELinuxをチェックする必要があります。

+0

権限(700)とSELinuxステータス(無効)でチェックしました。それでも、それは私のために働いていません。 設定されたリソース制限を超えたため、postgresql-8.4.serviceのジョブが失敗しました。 他のログには、起動後にPIDファイル/var/run/postmaster-8.4.pidが読み込めない(まだですか?)と表示されます。 var/run/postmaster-8.4.pidファイルが見つかりません。 postmaster-8.4.5432.pidとpostmaster.7654.pidの2つのファイルがあります。 postgresql 8.4はRHEL7に実際にインストールできますか? –

+0

あなたは 'yum install libstdC++。i686'を試しましたか?このlibで問題を解決した人もいます –

+0

libstdC++。x86_64は既にインストールされています。私はこのパッケージを更新しましたが、運はありません。同じ問題。 –

1

私は/etc/init.d/postgresql-8.4で宣言された変数があることに気づい:

pidfile="/var/run/postmaster-${PGMAJORVERSION}.${PGPORT}.pid" 

はしかしsystemctlで、PIDfileは同じではありません。

# systemctl show postgresql-8.4.service -p PIDFile PIDFile=/var/run/postmaster-8.4.pid

ので、問題編集/etc/init.d/postgresql-8.4を固定し、置き換え

pidfile="/var/run/postmaster-${PGMAJORVERSION}.${PGPORT}.pid" 
その後、 systemctlをリロード

pidfile="/var/run/postmaster-${PGMAJORVERSION}.pid" 

# systemctl daemon-reload 
#/etc/init.d/postgresql-8.4 start 
Starting postgresql-8.4 (via systemctl):     [ OK ] 
関連する問題