Hi, I had a problem with postgresql 7.3.2 running on a Linux RedHat
system.
On this system, the file size is limited using ulimit.
When the limit is reached for a database file, Postgres does THIS
:
LOG: server process (pid 4820) was terminated by signal
25 LOG: terminating any other active server
processes WARNING: Message from PostgreSQL backend: The
Postmaster has informed me that some other backend died
abnormally and possibly corrupted shared memory. I have rolled
back the current transaction and am going to terminate your
database system connection and exit. Please reconnect to the
database system and repeat your query. ... / ... WARNING:
Message from PostgreSQL backend: The Postmaster has informed me
that some other backend died abnormally and possibly corrupted
shared memory. I have rolled back the current transaction and
am going to terminate your database system connection and
exit. Please reconnect to the database system and repeat your
query. LOG: all server processes terminated; reinitializing
shared memory and semaphores LOG: database system was interrupted
at 2003-03-20 23:39:17 CET LOG: checkpoint record is at
0/542DF05C LOG: redo record is at 0/542DF05C; undo record is at
0/0; shutdown FALSE LOG: next transaction id: 510333; next oid:
120396 LOG: database system was not properly shut down; automatic
recovery in progress LOG: redo starts at 0/542DF09C LOG:
ReadRecord: record with zero length at 0/5441DC88 LOG: redo done
at 0/5441DC64 LOG: database system is ready
I think a process receiving a "signal 25" or SIGXFSZ while inserting
a row should not hang all the server like that !
In this case, only one table has problem, it's not necessary to stop
the server and terminate connections to all database.
Could the process answer something like "Unable to INSERT a new row !
(File size limit reached)", and then explain the problem in the log file
?
It was very difficult to me to find the origin of the problem because
I had no access to the system log. In My PHP script, the only
information was the WARNING asking to reconnect and redo the request ! ?
!
Regards, Frédéric SURLEAU.
|