Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Backup desde función

Estas en el tema de Backup desde función en el foro de PostgreSQL en Foros del Web. Buen día foro Tengo una base de datos en postgresql que es consultada por los clientes mediante una aplicación desarrollada en c# con la librería ...
  #1 (permalink)  
Antiguo 05/04/2011, 13:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Backup desde función

Buen día foro

Tengo una base de datos en postgresql que es consultada por los clientes mediante una aplicación desarrollada en c# con la librería npgsql.
Dentro de la aplicación hay un modulo que tiene información delicada del sistema. Y necesito dar la opción al usuario de hacer una copia de seguridad antes de hacer cambios criticos en los datos.

Como la base de datos está sobre un servidor con CentOS 5.5 necesitaría la forma de poder hacer un backup desde una función solo llamandola desde c# mediante la libreria.

Por lo que he buscado esto no puede hacerse desde una función en plpgsql. Pero aunque nunca he hecho una función en plpython, o plperl o plpctl me imagino que estos lenguajes si tienen la forma de ejecutar un comando de la shell de linux y poder lograr lo que requiero.

la idea sería tener algo así:
create or replace function hacer_backup()
returns void as $$
execute('pg_dump -U miusuario mibase > /misbackups/backup_fechadehoy.backup');
$$
language plpythonu;


de esta forma lo puedo llamar desde c# y que internamente me mande una copia a un disco en el servidor.

No logro encontrar un comando que ejecute comandos shell al interior de una función.

Alguna solución?

saludos gente
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #2 (permalink)  
Antiguo 05/04/2011, 14:37
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 7 meses
Puntos: 7
Respuesta: Backup desde función

Hola huesos52

Creo, insisto, creo haber leído algo de eso en la lista y tiraban a ejecutar el pg_dump desde el lenguaje de la aplicación.

¿Cuál es el propósito de que sea desde el motor?
__________________
Gracias de todas todas
-----
Linux!
  #3 (permalink)  
Antiguo 05/04/2011, 14:44
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Backup desde función

Hola cacr... gracias por responder.

Te cuento un poco.
En c# tengo una aplicación cliente servidor. Es decir... este .exe se ejecuta desde cualquier maquina del planeta a la base de datos que tengo en un servidor publico.

desde c# si puedo ejecutar comandos del sistema operativo actual (Donde está el .exe). Es mas, me funcionó de maravillas ejecutando desde c# el pg_dump que tengo en mi servidor en windows. La cosa es que cada cliente no tiene un cliente postgresql instalado (valga la redundancia). Toda la gestión de las conexiones las hace la librería npgsql.

Por eso la necesidad de que sea de esta forma.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 05/04/2011, 15:42
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 7 meses
Puntos: 7
Respuesta: Backup desde función

mmm de repente pensé en que podías meterte por un tunel y ejecutar el pg_dump en remoto desde la función en tu lenguaje, pero... sería igual, necesitarías instalar el ssh en cada máquina...
__________________
Gracias de todas todas
-----
Linux!
  #5 (permalink)  
Antiguo 05/04/2011, 15:53
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Backup desde función

exacto.
Al ver que esto es factible desde una aplicación, pensé que tal vez desde plpython o plperl pudiera conseguir esto. La verdad no se si sea posible.

gracias cacr.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: backup
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:56.