Re: Moviendo una gran base de datos

From: Jaime Giraldo <sposmen(at)gmail(dot)com>
To: David Montoya <erethond(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Moviendo una gran base de datos
Date: 2010-09-01 09:19:55
Message-ID: AANLkTinbYSghDW6yGCk8yKO4eA7HRPp0en8tyx6VZ42g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola David,

Disculpa responder un poco tarde, pero igual se que a muchos les interesará
esta línea de comando ya que a mi me ha servido bastante para hacer respaldo
de base en poco tiempo ya que no depende de transferencias de archivos de
forma explicita.

Lo que se debe tener es básicamente el ssh (linux por supuesto para
simplicidad) instalado en ambos equipos y tener el postgres correspondiente
para poder ejecutar los comandos remotamente.

ssh postgres(at)serverdestino "dropdb nombrebasedatos; createdb
nombrebasedatos"; \
pg_dump -U postgres -i -O -F c -b -Z 9 nombrebasedatos | ssh
postgres(at)serverdestino "pg_restore -i -d nombrebasedatos"

No lo he probado con bases de datos como las de David, ya que desconozco si
el pipe "|" tiene un límite para este tipo de transferencias, pero sería una
alternativa magnífica.

En mi caso la uso ya que buscaba una copia total entre 2 bases cada cierto
tiempo pero a través del rsync de los cluster era demasiado largo y tedioso.
Y con este comando se redujo notablemente el tiempo.

Nota: La primera línea solo es necesaria si en el servidor destino existe la
base de datos. Para el caso de David me imagino que la segunda línea hubiera
sido suficiente.

El 1 de septiembre de 2010 01:18, David Montoya <erethond(at)gmail(dot)com>escribió:

> Muchas gracias Alvaro, deje de usar el -D y todo funciono a la primera, en
> un par de horas se restauró toda la BD muchas gracias!!!+
>
> El 28 de agosto de 2010 17:29, David Montoya <erethond(at)gmail(dot)com>escribió:
>
>> Buenas:
>>
>> Estoy intentando mover una base de datos de unos 90GB de un servidor
>> postgre 8.1 a otro Postgre 8.3 Pero usando pg_dump y el correspondiente
>> pg_restore me va a tardar 10 días en hacer la migración. He probado a
>> utilizar ficheros más pequeños usando split, pero el resultado es el mismo.
>>
>> No sé si se puede usar PITR para hacer la copia desde una Postgres 8.1 a
>> Postgres 8.3. Otra opción que se me habia ocurrido es copiar toda la BD
>> exceptuando las tres tablas más grandes ( entre esas tres serán un 80% del
>> tamaño de la BD) y luego mediante vistas ir pasando poco a poco las tres
>> tablas que falten. Cual de las dos opciones es más viable¿?
>>
>> El problema es que la migración es un servidor de producción, por lo tanto
>> 10 días es un poco inaceptable.
>>
>> Muchas gracias.
>>
>
>

--
Jaime Alberto Giraldo J.
" La madurez del hombre es haber vuelto a encontrar la seridad con la que
jugaba cuando era niño"
Friedrich Wilhelm Nietzsche

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Silvio Quadri 2010-09-01 15:27:56 Re: Moviendo una gran base de datos
Previous Message David Montoya 2010-09-01 06:18:38 Re: Moviendo una gran base de datos