----- 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