Re: COULD NOT OPEN SEGMENT 1

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: jose ricardo <joripeca(at)yahoo(dot)com(dot)ar>
Cc: psql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: COULD NOT OPEN SEGMENT 1
Date: 2006-11-28 18:41:51
Message-ID: 20061128184151.GL20159@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

jose ricardo escribió:
> Lo unico que se me ocurre es que hay un indice que esta corrupto.
> En que sistema operativo estas ejecutando esto?
>
> Linux madrake 10.0
>
> Si tienes GDB a mano,
> pegate al backend antes de mostrar el error, pon un breakpoint en
> errfinish y repite la consulta para obtener un backtrace. Muestra el
> backtrace aca.
>
> Perdona mi ignoracia pero no manejo todo lo que me dices. el gestor
> que tego es pgadmin III pero en realidad lo uso muy poco casi siempre
> trabajo de psql. si me explicas un poco o me dice donde puedo leer
> al respecto te lo agradezco.

Ok, presta atencion. Primero que nada, conectate a la base de datos con
psql. Luego examina la lista de procesos y determina cual es el que
corresponde a la conexion que acabas de hacer. (Supongo que la manera
mas facil es hacer un "ps" antes de conectarte, y otro "ps" despues de
conectarte, obviamente en otro terminal, y ver cual es el que es nuevo
en el segundo listado). Obtienes la lista de procesos con:

ps uw -C postmaster

Deberias ver algo asi:

alvherre 4939 0.0 0.2 28824 2756 pts/0 S+ 15:23 0:00 postmaster
alvherre 4941 0.0 0.1 28808 1696 pts/0 S+ 15:23 0:00 postgres: writer process
alvherre 4942 0.0 0.0 20884 860 pts/0 S+ 15:23 0:00 postgres: stats buffer process
alvherre 4943 0.0 0.0 19880 980 pts/0 S+ 15:23 0:00 postgres: stats collector process
alvherre 6013 0.0 0.2 30124 2628 pts/0 S+ 15:28 0:00 postgres: alvherre template1 [local] idle

El que me interesa en este caso es el "6013", que esta conectado a la
base de datos "template1" con el usuario "alvherre".

Luego, lanzas GDB pegado al proceso 6013:
gdb -p 6013

$ gdb -p 6013
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Attaching to process 6013
[alguna chachara va aqui]
(gdb)

Aqui en el prompt "gdb", ejecuta "breakpoint errfinish", y a
continuacion "cont". Esto se debe "quedar pegado".

Entonces vuelves a la ventana donde abriste psql e ingresas tu join.
Antes de arrojarte el error que habias mencionado, deberia quedarse
pegado y la ventana de GDB deberia volver a mostrar el prompt "(gdb)".
En esa ventana escribe "bt".

Luego manda la salida del "bt" por correo a la lista.

> Quizas tienes la base de datos en discos IDE?
>
> Si

Si no deshabilitaste el cache de escritura, tu base de datos puede
sufrir problemas continuamente. Te sugiero que lo deshabilites.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martin Marques 2006-11-28 20:57:54 Re: COULD NOT OPEN SEGMENT 1
Previous Message jose ricardo 2006-11-28 17:48:27 Re: COULD NOT OPEN SEGMENT 1