2016-07-25 37 views
2

Wir haben eine Anwendung, die auf RHEL6/32 Bit und RHEL6/64 Bit läuft. Diese Anwendung verwendet postgresql 8.4 von Anfang an. Jetzt möchten wir diese Anwendung auf RHEL7/64 bit unterstützen. RHEL7 wird standardmäßig mit postgresql 9.2 in der yum-Liste geliefert und diese wird installiert und die zugehörigen Dienste laufen ebenfalls einwandfrei. Aber nach der Installation von postgresql 8.4 auf RHEL7 scheint es, als ob die Dienste nie ausgeführt werden. Nachstehend finden Sie die Protokolle:postgresql Dienst läuft nicht auf RHEL 7

[[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. 

Nachdem in den Protokollen in journalctl suchen -XE

[[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.. 

Kann 8.4 auf RHEL7 installiert werden PostGreSQL, die ein systemd-basiertes Betriebssystem ist? Wenn ja, was sollte ich tun, um den obigen Fehler zu beheben?

+0

Nur für den Fall, führen Sie v8.4 in einem anderen Port, der v9.2? –

+0

Ich habe alle postgresql-Instanzen von meinem neuen System mit RHEL7 deinstalliert. Danach habe ich versucht, postgresql 8.4 zu installieren, die Standard-Port 5432 verwendet –

Antwort

0

verursacht allgemeinen Berechtigungen diese Art von Fehler

su - postgres 

Danach:

chmod 700 -R <data_directory> 

Und Sie sollten auch prüfen SELinux.

+0

Ich überprüft mit den Berechtigungen (700) und SELinux-Status (deaktiviert). Trotzdem funktioniert es nicht für mich. Ich habe nicht die Ressource erhalten, auf die diese Zeile verweist: Job für postgresql-8.4.service ist fehlgeschlagen, weil ein konfiguriertes Ressourcenlimit überschritten wurde. Und andere Protokolle sagt PID-Datei /var/run/postmaster-8.4.pid nicht lesbar (noch?) Nach dem Start. Ich kann keine var/run/postmaster-8.4.pid Datei sehen. Obwohl zwei andere Dateien namens postmaster-8.4.5432.pid und postmaster.7654.pid vorhanden sind. Kann postgresql 8.4 wirklich auf RHEL7 installiert werden? –

+0

haben Sie versucht, 'yum install libstdC++. I686' ich bereit einige Leute löste ihr Problem mit dieser lib –

+0

libstdC++. X86_64 ist bereits installiert. Ich habe dieses Paket aktualisiert, aber kein Glück. Gleicher Fehler. –

1

Ich bemerkte, dass in /etc/init.d/postgresql-8.4 eine Variable deklariert ist:

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

Aber in systemctl, PIDfile ist nicht das gleiche:

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

Also, um das Problem zu beheben bearbeiten /etc/init.d/postgresql-8.4 und ersetzen

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

mit

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

dann nachladen systemctl:

# systemctl daemon-reload 
#/etc/init.d/postgresql-8.4 start 
Starting postgresql-8.4 (via systemctl):     [ OK ]