Re: Inconveniente con restaurar respaldo

From: Edwin De La Cruz <edwinspire(at)gmail(dot)com>
To: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Inconveniente con restaurar respaldo
Date: 2016-03-21 21:41:18
Message-ID: CAKaZx-pstthm9ZkKaNr_+mt5T3QOoWO1or3M+KS2TwON=SxYBw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 21 de marzo de 2016, 12:10, Gerardo Herzig
<gherzig(at)fmed(dot)uba(dot)ar> escribió:
>
>
> ----- Mensaje original -----
>> De: "Edwin De La Cruz" <edwinspire(at)gmail(dot)com>
>> CC: "Lista Postgres ES" <pgsql-es-ayuda(at)postgresql(dot)org>
>> Enviados: Domingo, 20 de Marzo 2016 19:29:03
>> Asunto: Re: [pgsql-es-ayuda] Inconveniente con restaurar respaldo
>>
>> El día 18 de marzo de 2016, 21:46, Gerardo Herzig
>> <gherzig(at)fmed(dot)uba(dot)ar> escribió:
>> > Y si ejecutas directamente pg_restore en el server (o en una
>> > estacion que tenga la misma version de postgres que el de
>> > produccion) te devuelve el mismo error?
>> >
>> > Gerardo
>> >
>> > ----- Mensaje original -----
>> >> De: "Edwin De La Cruz" <edwinspire(at)gmail(dot)com>
>> >> Para: "Lista Postgres ES" <pgsql-es-ayuda(at)postgresql(dot)org>
>> >> Enviados: Viernes, 18 de Marzo 2016 19:13:30
>> >> Asunto: [pgsql-es-ayuda] Inconveniente con restaurar respaldo
>> >>
>> >> Saludos cordiales.
>> >> Espero su ayuda ya que estoy al borde del llanto.
>> >> Tengo una aplicación que usa postgres, he sacado un respaldo una
>> >> vez
>> >> por semana sin aparentes problemas.
>> >>
>> >> El dia de ayer estuve borrando unos indices que me estaban dando
>> >> problemas y estaban un poco crecidos de tamaña y ademas ya no me
>> >> eran
>> >> utiles.
>> >> En ese proceso cuando borrarba uno de ellos cada vez se empezaba a
>> >> demorar mas y mas al punto de que la maquina llego al 100% de
>> >> proceso
>> >> y no se podia trabajar.
>> >>
>> >> Probe a reiniciar la maquina y apenas llegana a Debian (Jessie) el
>> >> proceso de postgres se disparaba.
>> >>
>> >> Asi, lento y todo saque una vez mas un respaldo, borre la base de
>> >> datos, reinicie la maquina, cree nuevamente la base de datos, la
>> >> restaure con el respaldo y o sorpresa, solo tengo las tablas y
>> >> datos
>> >> en ellas pero NADA de FUNCIONES, TRIGGERS, VIEWs, etc.
>> >>
>> >> Al restaurar me aparecio muchos mensajes como este:
>> >>
>> >> Error: Schema node not found for object INDEX
>> >> index_ej_idaccount_201510 [owner: postgres]
>> >>
>> >> Probe con respaldos de fecha anteriores y sucede lo mismo.
>> >>
>> >> Solo me funcionó con un respaldo de hace mas de un año.
>> >> He perdido todas mis vistas y mas que nada me duele haber perdido
>> >> las
>> >> funciones y triggers que eran complejos...
>> >>
>> >> Para sacar respaldos y para restaurar use pgAdminIII.
>> >>
>> >> Hay alguna forma de solo restaurar las vistas, funciones y
>> >> triggers?
>> >>
>> >> Si intento ver los objetos que hay en el respaldo usando
>> >> pgAdminIII
>> >> me
>> >> aparece el mensaje que indique mas arriba.
>> >>
>> >> Estoy desesperado ya que es el trabajo de mas de un año.
>> >>
>> >> Espero me puedan dar una guia de como solucionarlo.
>> >>
>> >> Gracias.
>> >>
>> >>
>> >> Mis proyectos de software libre en:
>> >> Github - edwinspire
>> >>
>> >> -
>> >> Enviado a la lista de correo pgsql-es-ayuda
>> >> (pgsql-es-ayuda(at)postgresql(dot)org)
>> >> Para cambiar tu suscripci�n:
>> >> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>> >>
>>
>> Saludos nuevamente.
>> Bueno despues de sufrir un buen tiempo al siguiente dia hice las
>> cosas
>> con mas calma y se me ocurrio crear una nueva base de datos con otro
>> nombre y restaurar ahi solo el esquema, funcionó casi completamente,
>> algunas llaves foraneas e indices no se restauraron pero no son gran
>> cosa, lo puedo volver a hacer a mano.
>>
>> Intente restaurar unicamente los datos pero me daba errores, que no
>> recuerdo. Asi que se me ocurrio restaurar tabla por tabla pasando de
>> respaldo.tar a tabla.sql y una vez con tabla.sql restaurarlo usando
>> psql.
>>
>> Las tablas pequeñas se restauraron sin problema, pero las grandes
>> estan demorando mucho mucho tiempo.
>>
>> Ejemplo:
>> un archivo tabla.sql que pesa 40 Megas demoro en restaurarse un hora
>> mas o menos, pero tengo una tabla que pesa 626 Megas y va casi 12
>> horas restaurandose y no termina.
>> El problema que tengo es que tengo otras tablas que pesan 10 Gigas!
>>
>> El comando que uso para restaurar luce asi:
>>
>> psql -U postgres -d oms <
>> "/home/openams/tempo/20160318_0825_events_jobs_201601.sql"
>>
>> Ademas de esto la tabla que se esta rastaurando esta como bloqueada,
>> no puedo hacer inserts ni select, ni nada.
>>
>> Existe alguna forma mas rapida de restaurar una base de datos y mas
>> que todo sin que se bloquee la tabla en cuestion?
>
> Hay algunas variables qeu pueden ayudar:
>
> checkpoint_segments = 32 #(default es 3)
> synchronous_commit = off (solo a los efectos de acelerar la importacion)
> maintenance_work_mem = "1/4 de la RAM" #acelera la creacion de indices
>
> * Chusmea el rendimiento del host (vmstat, iostat, iotop) para ver si el cuello de botella no son tus discos
> * Asegurate qeu el dump contenga COPY y no INSERTs
> * Los indices, triggers y constraints hacelos (recrealos) luego del volcado de los datos
> * Al momento del bulk insert, si tenes indices, la tabla puede estar "lockeada" contra otras escrituras, pero el SELECT deberia darte una tabla vacia.
>
> HTH
> Gerardo
>
>>
>> -
>> Enviado a la lista de correo pgsql-es-ayuda
>> (pgsql-es-ayuda(at)postgresql(dot)org)
>> Para cambiar tu suscripci�n:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>

Lo que hice luego fue probar desactivado los trigger de las tablas.
Subi los respaldos y la tabla mas grande demoro 15 minutos, una maravilla.

Gracias a todos por su consejo, ya tengo nuevamente mi aplicación
online, lo mejor de todo mi jefe ni se entero de lo sucedido.

Un abrazo, hasta pronto.

Mis proyectos de software libre en:
Github - edwinspire

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2016-03-21 21:49:48 Re: Inconveniente con restaurar respaldo
Previous Message Gerardo Herzig 2016-03-21 17:10:54 Re: Inconveniente con restaurar respaldo