----- Mensaje original -----
> De: "Edwin De La Cruz" <edwinsp...@gmail.com>
> CC: "Lista Postgres ES" <pgsql-es-ayuda@postgresql.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
> <gher...@fmed.uba.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" <edwinsp...@gmail.com>
> >> Para: "Lista Postgres ES" <pgsql-es-ayuda@postgresql.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@postgresql.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@postgresql.org)
> Para cambiar tu suscripci�n:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
> 

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a