Confidare Weblog

Archive for May, 2005

Sincronizando Bases de Datos en PostgreSQL

por jcataldo el May.31, 2005, bajo PostgreSQL

Sincronizar los contenidos de bases de datos es una tarea común durante el desarrollo de cualquier software que deba terminar operando sobre los mismos datos que usaba la versión que reemplaza, aun cuando ellos deban atravesar un proceso de conversión.

Durante el desarrollo se trabajará generalmente en forma simultánea en dos o más bases de datos, una de las cuales estará asignada al proceso de migración de datos; esta tarea puede llegar a ser un proyecto en sí mismo. Eventualmente una base de datos será destinada a soportar la copia del sistema que el cliente accederá para realizar pruebas o marcha blanca.

En algún punto entre estos acontecimientos los datos migrados desde la versión antigua del software estarán listos y deberán ser movidos desde la base de datos de migración a aquella con la cual interactúa el cliente, o a alguna de desarrollo para efectuar pruebas de rendimiento. Las restricciones para dicho movimiento serán:

  1. Tanto schema (metadata) como datos deberán ser movidos.
  2. Si la BD contiene blobs (objetos binarios grandes), ellos deberán ser incluidos.
  3. Como cada base de datos tendrá un propietario particular y un conjunto de reglas de acceso, esta información no deberá ser modificada.

Las herramientas precisas para realizar la tarea son pg_dump y pg_restore, utilidades de propósito general para respaldar y restablecer bases de datos. La primera se utiliza para crear un archivo dump a partir de los contenidos de una base de datos, mientras que la segunda realiza el proceso inverso.

El formato del archivo puede ser texto SQL, binario “tar” o custom. Las restricciones 1 y 2 mencionadas arriba obligan a la utilización del formato custom. El comando para crear el archivo desde la base de datos origen, considerando el escenario y asumiendo que se está trabajando como usuario postgres, es simplemente:

    $ pg_dump --blobs --verbose --format c BD_ORIGEN > ARCHIVO_DUMP

La contraparte de esto, es decir, el comando mediante el cual se introducen los contenidos del archivo en la base de datos destino, es a su vez:

    $ pg_restore --clean --format c --verbose --dbname=DB_DESTINO ARCHIVO_DUMP

La opción –clean se utiliza para vaciar completamente los contenidos de la base de datos destino antes de poblarla.

1 comentario más...

Ley de Financiamiento en “Vértigo”

por jcataldo el May.27, 2005, bajo Medios, Universidad

Sorpresiva fue, por decir lo menos, la irrupción de tres estudiantes universitarios en el programa “Vértigo” (que se transmite en vivo) de Canal 13 para protestar por la aprobación de la Ley de Financiamiento. Justo en medio de una eliminación aparecieron con un lienzo que decía:

NO LEY FINANCIAMIENTO
SÍ A LA EDUCACIÓN PÚBLICA
ESTUDIANTES DE CHILE

Lo bueno fue que los estudiantes fueron bien recibidos en el programa, y se les dio algo de tiempo para hablar sobre el problema de la privatización de la educación en Chile. De acuerdo a La Tercera, el vocero —no identificado— expresó: “Hoy se están instaurando leyes privatizadoras, como la ley de financiamiento, y lo único que hace el señor Bitar y Lagos para el 21 de Mayo es dar panaceas con nuevos créditos que finalmente se han cumplido” (sic).

Esto me recuerda que tengo pendiente una revisión del texto de la famosa ley y las observaciones que sobre ella han realizado las comisiones de trabajo formadas por la Federación de Estudiantes de la UTFSM. Lo anterior es sumamente importante ante la cercanía de la votación general para decidir la ida a paro indefinido hasta que la ley se derogue, los próximos 1, 2 y 3 de junio.

Escribe un comentario más...