[Pgsql-ayuda] Velocidad del restore
Manuel Sugawara
masm@fciencias.unam.mx
30 Sep 2003 18:19:33 -0600
"Edwin Quijada" <listas_quijada@hotmail.com> writes:
> La verdad no es q se atora pero casi duro un dia haciendo uno
> Tenia 1.2gb el pg_dumpall que hice
Yo tenia problemas semejantes y lo que hice fue hacer un horrorso
script que basicamente lo que hace es:
1) vacia el esquema excepto los =EDndices con grep -v, lo cual
desgraciadamente no me sirve para las restricciones de llave primaria
o de valores =FAnicos (unique)
2) vacia los datos con la opci=F3n --disable-triggers
3) vacia los =EDndices al final.
El c=F3digo fuente reza m=E1s o menos as=ED:
'----------------------------------------
|#!/bin/zsh -f
|
|echo -n "vaciando esquema ...."
|pg_dump --schema-only --use-set-session-authorization $DB | egrep -v '^CRE=
ATE (UNIQUE )?INDEX' >! ${DB}.txt
|echo "listo"
|
|echo -n "vaciando datos ...."
|pg_dump --data-only --use-set-session-authorization --disable-triggers $DB=
>> ${DB}.txt
|echo "listo"
|
|echo -n "vaciando inidices ...."
|pg_dump --schema-only --use-set-session-authorization $DB | egrep '^(SET s=
earch_path|CREATE (UNIQUE )?INDEX)' >> ${DB}.txt
|echo "listo"
`----------------------------------------
El dump as=ED generado se puede cargar bastante m=E1s r=E1pido, pero esto en
particular funciona en mi caso ya que tengo muchas llaves for=E1neas e
=EDndices. Intenta usarlo y nos comentas, para una soluci=F3n m=E1s general
habr=EDa que trabajarle un tanto al pg_dump lo cual esta en alguna parte
de mi TODO.
> No hay una forma de sacar un backup como un copy normal y hacer el restore
> de la misma forma. SOlo haciedno copias. El pg_dump no puede hacer algo
> asi??
No creo.
> Que pasa si copia la base de datos con ella en uso?
Mala idea.
Saludos,
Manuel.