----- Mensaje original ----
> De: Edwin Quijada <[email protected]>
> Para: [email protected]; [email protected]
> Enviado: miércoles 14 de enero de 2009, 16:47:10
> Asunto: RE: [pgsql-es-ayuda] MOVER BASE DE DATOS
> 
> 
> Porque no te evitas un problema y saca un dump de eso y listo.Eso funciona a 
> veces no se pero no me arriesgaría de esa manera.
> 
> 
> 
> *-------------------------------------------------------*
> *-Edwin Quijada
> *-Developer DataBase
> *-JQ Microsistemas
> *-809-849-8087
> 
> * " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo 
> comun"
> *-------------------------------------------------------*
> 
> 
> 
> 
> 
> 
> ----------------------------------------
> > Date: Wed, 14 Jan 2009 05:48:08 -0800
> > From: [email protected]
> > Subject: [pgsql-es-ayuda] MOVER BASE DE DATOS
> > To: [email protected]
> >
> > Masters, tenia un ubuntu con \ en en /dev/sda1 y postgres 8.3 instalado en 
> > la 
> carpeta por defecto
> > la cosa es que ahora tengo /home en /dev/sda6 y como tengo mas capacidad y 
> > por 
> si meto la pata y debo reinstalar linux quiero mover las base de datos de 
> postgre a esta nueva unidad como por ejemplo a la carpeta 
> /home/postgre/bases, 
> como puedo hacer esto?,
> > sino me equivoco los datos los tengo en /var/lib/postgresql/8.3/main ya que 
> > es 
> lo que contiene la variable data_directory de 
> /etc/postgresql/8.3/main/postgresql.conf
> > Viendo un hilo viejo de este mismo foro y otras paginas voy a intentar 
> > hacer 
> un tutorial, quisiera me digan si esta correcto y sin peligros de perder 
> datos.
> >
> > 1-creo la carpeta donde voy a mover todo
> > sudo mkdir /home/postgres
> > 2-doy los permisos al usuario postgres
> > sudo chown -R
> > postgres:postgres
> > /home/postgres
> > 3-detengo postgres por si las moscas
> > sudo
> > /etc/init.d/postgres stop
> > 4-cambio la variable data_directory en postgresql.conf que le indica a 
> postgres donde estan los datos
> > data_directory = '/home/postgres/';
> >
> > 5-copio los archivos y directorios que estan en 
> > /var/lib/postgresql/8.3/main a 
> la carpeta /home/postgres
> >
> > carpetas
> > base global pg_clog pg_multixact pg_subtrans pg_tblspc pg_twophasepg_xlog
> > Archivos
> > PG_VERSION postmaster.opts postmaster.pid @root.crt @server.crt @server.key
> > esto se puede hacer con el mc (sudo mc) o con el comando sudo cp -v -R 
> /var/lib/postgresql/8.3/main/home/postgres
> >
> > Si tenemos en el directorio origen los archivos .conf y enviroment los 
> > dejamos 
> donde estan y no los copiamos
> >
> > 6-finalmente arrancamos postgres
> > sudo /etc/init.d/postgres start
> >
> >
> >
> >
> > CREO QUE ESTA TODO... O FALTA ALGO?
> >

Ok.. veamos como se haria con dump
Considerando que las base de datos son muy grandes

1- ingreso al usario postgres
  su postgres

2- hago el dump de todo y lo mando a un zip dividido en archivos de por ejemplo 
400Mbytes
pg_dumpall -disable-triqqggers | gzip | split -b 400m > backupcompleto.dump.gz

3- creo la carpeta donde voy a mover todo
   sudo mkdir /home/postgres

4-doy los permisos al usuario postgres
   sudo chown -R postgres:postgres /home/postgres

5- detengo postgres por si las moscas
  sudo  /etc/init.d/postgres stop

6- Incializamos la base de datos en el nuevo lugar de almacenamiento (esto no 
se si lo hace dumpall)
 initdb -d /home/postgres/

7- creo la base de datos en el nuevo lugar
 createdb basenueva

8- muevo todos los datos

 cat backupcompleto.dump.* | pgsql basenueva


en lo que estoy menos seguro es de los pasos 6 a 8. Por ejemplo, al hacer initdb
ademas de crear la estructura de postgres, estoy cambiando el
data_directory? 
Despues de esto puedo borrar los directorios ariginales?


      Yahoo! Cocina
Recetas prácticas y comida saludable
http://ar.mujer.yahoo.com/cocina/
--
TIP 8: explain analyze es tu amigo

Responder a