El 23/06/2010 17:18, Sebastian Machuca escribió:
Hola a todos. Me surgio un problema con un motor.

Primero algunos datos previos:

OS: Red Hat
Version 8.3
Size 15 GB


Se lleno la partición donde tenia el motor, ya me había ocurrido algo similar hace algún tiempo, y la solución que tome fue simple. Moví la carpeta "data" a una partición con mayor espacio y después un enlace simbólico. Lo tenia en el clásico /var/lib/pgsql/data y lo deje en /opt/postgres/data Ahora, el problema es cuando trato de levantar el motor. Me sale lo siguiente:


psql: FATAL:  the database system is starting up

Y nunca avanza de ahi.
Ahora anexo informacion que es de interes para el problema:

---------------------------------------------------------------------------------------------------------------
*$ ps aux | grep postgres*
root 24586 0.0 0.1 4920 1236 pts/2 S 10:52 0:00 su - postgres
postgres 24587  0.0  0.1   4540  1440 pts/2    S+   10:52   0:00 -bash
root 27444 0.0 0.1 4920 1240 pts/1 S 14:40 0:00 su - postgres
postgres 27445  0.0  0.1   4536  1436 pts/1    S+   14:40   0:00 -bash
root 27593 0.0 0.1 4920 1244 pts/3 S 14:44 0:00 su - postgres
postgres 27594  0.0  0.1   4540  1468 pts/3    S    14:44   0:00 -bash
postgres 27725 4.1 0.8 283372 7236 pts/3 S 14:47 0:00 /usr/bin/postgres postgres 27726 0.0 0.0 13952 696 ? Ss 14:47 0:00 postgres: logger process postgres 27727 2.0 0.5 283640 4828 ? Ds 14:47 0:00 postgres: startup process recovering 000000010000001A00000074
postgres 27730  0.0  0.1   4260   940 pts/3    R+   14:48   0:00 ps aux
postgres 27731 0.0 0.0 3920 696 pts/3 S+ 14:48 0:00 grep postgres
---------------------------------------------------------------------------------------------------------------

*$ pg_ctl status*
pg_ctl: server is running (PID: 27725)
/usr/bin/postgres

---------------------------------------------------------------------------------------------------------------

*$ pg_controldata *
pg_control version number:            843
Catalog version number:               200904091
Database system identifier:           5409925551577885669
Database cluster state:               in crash recovery
pg_control last modified:             Wed 23 Jun 2010 11:20:42 AM CLT
Latest checkpoint location:           1A/73839208
Prior checkpoint location:            1A/73839208
Latest checkpoint's REDO location:    1A/7382D978
Latest checkpoint's TimeLineID:       1
Latest checkpoint's NextXID:          0/47874035
Latest checkpoint's NextOID:          51407
Latest checkpoint's NextMultiXactId:  1647347
Latest checkpoint's NextMultiOffset:  3431468
Time of latest checkpoint:            Sun 30 May 2010 11:10:30 AM CLT
Minimum recovery ending location:     0/0
Maximum data alignment:               4
Database block size:                  8192
Blocks per segment of large relation: 131072
WAL block size:                       8192
Bytes per WAL segment:                16777216
Maximum length of identifiers:        64
Maximum columns in an index:          32
Maximum size of a TOAST chunk:        2000
Date/time type storage:               64-bit integers
Float4 argument passing:              by value
Float8 argument passing:              by reference

---------------------------------------------------------------------------------------------------------------
El ultimo dia que tuvo transacciones, termino con este log
*
*
*$ tail PG_DATA/pg_log/postgresql-Sun.log*
ERROR:  null value in column "protocolo" violates not-null constraint
STATEMENT: INSERT INTO trx_5(nodo, puerto, dnis, ani, protocolo, time, status, service, fecha, trama) VALUES (2, 1, 900, 0, (SELECT pk FROM protocolos WHERE data = 78), 247, (SELECT pk FROM status WHERE status = 55), (SELECT pk FROM services WHERE service = 0),now(), (SELECT pk FROM tramas WHERE equipo = 2 AND puerto = 1)) LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device LOG: could not write temporary statistics file "pg_stat_tmp/pgstat.tmp": No space left on device
LOG:  could not write temporary statistics file "pg_st-bash-3.2$

---------------------------------------------------------------------------------------------------------------

*$ psql*
psql: FATAL:  the database system is starting up

---------------------------------------------------------------------------------------------------------------

No tengo instalado en la maquina lsof, pero si tengo alguna información adicional.

Haciendo un vmstat se puede apreciar un alto uso de *wa *sobre un 50%, constante. El uso de %CPU es muy bajo, como un 2%

Revisando bajo /proc/27725/ (el pid de postgres 27727 2.0 0.5 283640 4828 ? Ds 14:47 0:00 postgres: startup process recovering 000000010000001A00000074) el fichero *io* Una taza de escritura bastante alta. Del orden de 1 GB por cada 20 minutos aprox. Sin embargo, no tengo idea donde esta escribiendo.



Alguna sugerencia de que puedo hacer??? Por ahora estoy esperando, volveré a revisar el servidor en unas 20 horas mas, pues no tengo acceso al servidor en forma directa.


--
Sebastian Machuca
Estudiante Ingeniería Civil en Computación
+56 9 77449117
http://twitter.com/serroba
Hola, probastes arrancar el postmaster a mano con -D apuntando al nuevo directorio de la base, no al link simbolico, sino a donde lo movistes, quizas esto te muestre informacion directo a la pantalla.


Saludos Fernando

Responder a