postgresql startet mehrmals am Tag neu

Hallo,
leider ist meine Erfahrung mit postgresql Datenbank sehr beschränkt.
Wir haben seit ca. 2 Wochen mehrmals am Tag Abstürze und die Datenbank beendet alle laufenden Prozesse und ist sofort wieder online.
Folgendes wurde in den letztzen Wochen geändert:

  • neuer Webserver der auf die Datenbank zugreift (Apache) (von Opensuse 12.1 x86 zu Opensuse 12.3 x64)
  • auf dem postgresql Datenbankserver wurde ein SQL Server express installiert, Dienst sind momentan alle deaktiviert.
    Wir hatten noch nie Probleme mit der postgresql Datenbank, sie läuft seit Jahren stabil ohne Probleme.
  • Windows XP SP3 (Dualcore, 4 GB Arbeitsspeicher, SSD)
  • PostgreSQL 8.2
  • virtuelle Maschine (ESXi 5.5 - 8 von 24 GB belegt im Arbeitsspeicher)

“corrupted shared memory” kann ich erkennen, aber ein Memory Check hat keine Probleme gemeldet.

Bin für jede Hilfe dankbar

Viele Grüße
Philip

2014-02-25 09:24:27 LOG:  server process (PID 3272) exited with exit code -1073741502
2014-02-25 09:24:27 LOG:  terminating any other active server processes
2014-02-25 09:24:27 WARNING:  terminating connection because of crash of another server process
2014-02-25 09:24:27 DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2014-02-25 09:24:27 HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2014-02-25 09:24:27 WARNING:  terminating connection because of crash of another server process
2014-02-25 09:24:27 DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2014-02-25 09:24:27 HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2014-02-25 09:24:27 WARNING:  terminating connection because of crash of another server process
....noch ca. 30 mal
2014-02-25 09:24:28 LOG:  all server processes terminated; reinitializing
2014-02-25 09:24:28 FATAL:  the database system is starting up
2014-02-25 09:24:28 LOG:  database system was interrupted at 2014-02-25 09:01:15 Westeuropäische Normalzeit
2014-02-25 09:24:28 LOG:  checkpoint record is at A0/E5F1A08
2014-02-25 09:24:28 LOG:  redo record is at A0/E5F1A08; undo record is at 0/0; shutdown FALSE
2014-02-25 09:24:28 LOG:  next transaction ID: 0/354418700; next OID: 81369
2014-02-25 09:24:28 LOG:  next MultiXactId: 1; next MultiXactOffset: 0
2014-02-25 09:24:28 LOG:  database system was not properly shut down; automatic recovery in progress
2014-02-25 09:24:28 LOG:  record with zero length at A0/E5F1A58
2014-02-25 09:24:28 LOG:  redo is not required
2014-02-25 09:24:28 FATAL:  the database system is starting up
2014-02-25 09:24:28 LOG:  database system is ready
2014-02-25 09:24:28 FATAL:  the database system is starting up
2014-02-25 09:24:28 FATAL:  the database system is starting up

dann habe ich das Debugging in der Konfigurationsdatei erhöht und jetzt etwas ausführlicher.

2014-02-27 09:02:36 DEBUG:  00000: forked new backend, pid=6404 socket=3212
2014-02-27 09:02:36 LOCATION:  BackendStartup, postmaster.c:2573
2014-02-27 09:02:36 DEBUG:  00000: reaping dead processes
2014-02-27 09:02:36 LOCATION:  reaper, postmaster.c:2010
2014-02-27 09:02:36 DEBUG:  00000: waiting on 160 children
2014-02-27 09:02:36 LOCATION:  win32_waitpid, postmaster.c:4157
2014-02-27 09:02:36 DEBUG:  00000: server process (PID 6404) exited with exit code -1073741502
2014-02-27 09:02:36 LOCATION:  LogChildExit, postmaster.c:2417
2014-02-27 09:02:36 LOG:  00000: server process (PID 6404) exited with exit code -1073741502
2014-02-27 09:02:36 LOCATION:  LogChildExit, postmaster.c:2417
2014-02-27 09:02:36 LOG:  00000: terminating any other active server processes
2014-02-27 09:02:36 LOCATION:  HandleChildCrash, postmaster.c:2310
2014-02-27 09:02:36 DEBUG:  00000: sending SIGQUIT to process 6384
2014-02-27 09:02:36 LOCATION:  HandleChildCrash, postmaster.c:2347
2014-02-27 09:02:36 DEBUG:  00000: sending SIGQUIT to process 6360
2014-02-27 09:02:36 LOCATION:  HandleChildCrash, postmaster.c:2347
2014-02-27 09:02:36 WARNING:  57P02: terminating connection because of crash of another server process
2014-02-27 09:02:36 DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2014-02-27 09:02:36 HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2014-02-27 09:02:36 LOCATION:  quickdie, postgres.c:2323
2014-02-27 09:02:36 DEBUG:  00000: sending SIGQUIT to process 6180
2014-02-27 09:02:36 LOCATION:  HandleChildCrash, postmaster.c:2347
2014-02-27 09:02:36 WARNING:  57P02: terminating connection because of crash of another server process
2014-02-27 09:02:36 DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2014-02-27 09:02:36 HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2014-02-27 09:02:36 LOCATION:  quickdie, postgres.c:2323
.. noch ca.30 mal
2014-02-27 09:02:37 LOCATION:  reaper, postmaster.c:2212
2014-02-27 09:02:37 DEBUG:  00000: shmem_exit(0)
2014-02-27 09:02:37 LOCATION:  shmem_exit, ipc.c:125
2014-02-27 09:02:37 DEBUG:  00000: invoking IpcMemoryCreate(size=25264128)
2014-02-27 09:02:37 LOCATION:  CreateSharedMemoryAndSemaphores, ipci.c:124
2014-02-27 09:02:37 DEBUG:  00000: reaping dead processes
2014-02-27 09:02:37 LOCATION:  reaper, postmaster.c:2010
2014-02-27 09:02:37 DEBUG:  00000: waiting on 2 children
2014-02-27 09:02:37 LOCATION:  win32_waitpid, postmaster.c:4157
2014-02-27 09:02:37 LOG:  00000: database system was interrupted at 2014-02-27 07:26:05 Westeuropäische Normalzeit
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:4692
2014-02-27 09:02:37 LOG:  00000: checkpoint record is at A0/BD062EB0
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:4762
2014-02-27 09:02:37 LOG:  00000: redo record is at A0/BD062EB0; undo record is at 0/0; shutdown FALSE
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:4789
2014-02-27 09:02:37 LOG:  00000: next transaction ID: 0/354879429; next OID: 81535
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:4793
2014-02-27 09:02:37 LOG:  00000: next MultiXactId: 1; next MultiXactOffset: 0
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:4796
2014-02-27 09:02:37 LOG:  00000: database system was not properly shut down; automatic recovery in progress
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:4863
2014-02-27 09:02:37 LOG:  00000: record with zero length at A0/BD062F00
2014-02-27 09:02:37 LOCATION:  ReadRecord, xlog.c:3031
2014-02-27 09:02:37 LOG:  00000: redo is not required
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:5002
2014-02-27 09:02:37 LOG:  00000: database system is ready
2014-02-27 09:02:37 LOCATION:  StartupXLOG, xlog.c:5188
2014-02-27 09:02:37 DEBUG:  00000: transaction ID wrap limit is 2347500152, limited by database "postgres"
2014-02-27 09:02:37 LOCATION:  SetTransactionIdLimit, varsup.c:278
2014-02-27 09:02:37 DEBUG:  00000: proc_exit(0)
2014-02-27 09:02:37 LOCATION:  proc_exit, ipc.c:94
2014-02-27 09:02:37 DEBUG:  00000: shmem_exit(0)
2014-02-27 09:02:37 LOCATION:  shmem_exit, ipc.c:125
2014-02-27 09:02:37 DEBUG:  00000: exit(0)
2014-02-27 09:02:37 LOCATION:  proc_exit, ipc.c:112
2014-02-27 09:02:37 DEBUG:  00000: reaping dead processes
2014-02-27 09:02:37 LOCATION:  reaper, postmaster.c:2010
2014-02-27 09:02:37 DEBUG:  00000: waiting on 2 children
2014-02-27 09:02:37 LOCATION:  win32_waitpid, postmaster.c:4157
2014-02-27 09:02:37 DEBUG:  00000: waiting on 3 children
2014-02-27 09:02:37 LOCATION:  win32_waitpid, postmaster.c:4157

Also, was passiert ist, daß ein PG-Prozess abstürzt. Da dieser u.U. im Shared Mem Müll hinterläßt kommt es zu dem quasi Neustart, um einfach den Shared Mem sauber zu bekommen.
Das hat nix mit kapottem RAM zu tun.

Habt ihr untrusted Languages im Einsatz? Also perlU oder pythonU? Sowas traue ich zu, auch mal abzustürzen.
Habt ihr irgend welche obskure Software drauf? Also Virenscanner oder so?

Im übrigen hab ihr eine nicht mehr supportete Version im Einsatz. Die müffelt schon.

Hi,

lediglich php5-pgsql version 5.3.17 isnt installiert.
Die Anwendung verwendet nur PHP / HTML und Javascript.

Ansonsten greifen noch sehr viele mit Microsoft Access auf die Datenbank zu, aber das schon seit Jahren, dort gab es keine Veränderungen.

Bis auf Microsoft SQL Server 2008 R2 ist absolut nichts installiert, zur Not muss ich tatsächlich den SQL Server runterschmeisen oder gibt es eine Möglichkeit heruaszufinden welcher Porzess stört=?

ich habe jetzt von pg_pconnect() auf pc_connect() umgestellt und seitdem keine Abstürze mehr.
Vielleicht waren zu viele Prozesse dadurch offen.

Ah okay.

Das kann man prüfen, pg_stat_activity listet Dir alle aktuellen Verbindungen.

Und nochmal: du solltest von 8.2 auf was zeitgemäßes wechseln, 8.2 ist seit Dezember 2011 offiziell tot.