Restaura en Postgres

297 views
Skip to first unread message

pupo

unread,
Jan 8, 2019, 2:15:44 PM1/8/19
to Comunidad de Visual Foxpro en Español
Hola amigos!

Para restaurar en Postgres es necesario eliminar la BD luego crear una nueva y entonces restaurar?

Porque si restauro encima de la BD no toma los datos de la Restaura.

Saludos

Pupo



Ing.Daniel Bojorge

unread,
Jan 9, 2019, 4:32:47 PM1/9/19
to publice...@googlegroups.com
Hola.  Así es... siempre debes recrear la base de datos.


Mi Blog
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


eap pupo

unread,
Jan 10, 2019, 7:11:29 AM1/10/19
to publice...@googlegroups.com
Buenos días!
Gracias por responder es la primera vez que alguien me dice exactamente lo que hay que hacer.
Te puediera hacer un par de preguntas mas. Es que deseo hacer un pequeño trabajito pero deseara que fuera con  VFP-Postgres.

Saludos
Pupo

micky khan

unread,
Jan 14, 2019, 8:50:41 AM1/14/19
to publice...@googlegroups.com
Efectivamente, si dejas tu BD podría restaurarse encima.

Todo depende tambien con que haces tus backups...si es con SQL Manager for Postgresql talves te de mas opciones que hacerlo con pgAdmin III...aunque despues de tantas pruebas prefiero hacerlo directamente con el pg_dump

Esto lo pongo en un bat y listo...


set pgpassword=xxlko
"C:\Program Files\PostgreSQL\9.4\bin\pg_dump" -i -h localhost -p 5432 -U postgres -F c -b -v -f "midb.backup" MIBD


y lo restauro previamente creado la BD de manera manual..

set pgpassword=xxlko
"C:\Program Files\PostgreSQL\9.4\bin\pg_restore" -i -h localhost -p 5432 -U postgres -d  MIBD   -v "mibase.backup"





--
  <_>
 (o o)
 (  °  )
<>-<>
Micky Khan

eap pupo

unread,
Jan 14, 2019, 11:00:57 AM1/14/19
to publice...@googlegroups.com
Mil Gracias amigo probaré con eso.

Ing.Daniel Bojorge

unread,
Jan 17, 2019, 10:55:22 AM1/17/19
to publice...@googlegroups.com
Así es, es mejor el pg_dump.

En mi caso, tengo un script que hace el pg_dump cada hora, lo comprime y lo sube a una carpeta de dropbox.  También tengo replicación de esa base de datos de windows a linux (siempre postgresql).



Mi Blog
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


micky khan

unread,
Jan 17, 2019, 11:05:14 AM1/17/19
to publice...@googlegroups.com
Es lo mejor.

Ahora acabo de resolver un problema con una vista, que me mostraba Memo y cambiar no me dejaba ( ponerle esto :: varchar(50)  ) ya que estaba involucrado en muchas vistas.....

Qsoft

unread,
Jan 17, 2019, 11:17:04 AM1/17/19
to publice...@googlegroups.com
buenas muchachos,

no quiero entrar en polemica con ninguno, que quede claro. Pero el dump es una muy buena opcion , mas no es lo mejor.

La mejor tecnica sobre todo para tener una replica al segundo es trabajar con un server di backup (mejor linux) donde se sincroniza mediante la replica el DB principal. no es facil de implemetar al inicio, pero utilizando esta tecina se tienen mejores resultados y afidabilidad en caso de crash del server.

le recomiendo usar este tool para Postgres que se ll ama Barman, es un apso adelante. y como la mayo parte de las cosas en Postgres es OpenSource.

en lo personal lo estoy implementado, con 3 Raspberri PI e pasaremos a implementarlo en produccion muy pronto.

Saludos


Enrique Vasquez B.


micky khan

unread,
Jan 17, 2019, 11:56:43 AM1/17/19
to publice...@googlegroups.com
Habia escuchado de Barman.

¿ Funciona barman en Windows?
No. Aunque está escrito en Python, todavía no hemos podido probarlo en Windows. Sin embargo, con mucho gusto aceptamos patrocinios para este tipo de actividad. Por el momento, barman ha sido probado exhaustivamente en Linux y Mac OS X.

Ing.Daniel Bojorge

unread,
Jan 17, 2019, 3:46:39 PM1/17/19
to publice...@googlegroups.com
Para respaldos, Barman es la mejor opción, a mi criterio.  Pero nunca está demás hacer backup full con el pg_dump, ya que el barman hace backup no de la base de datos, sino del cluster completo de la base de datos.

Lo otro es la replicación, yo recomiendo SymmetricDS.


Mi Blog
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


Martin Paredes

unread,
Jan 17, 2019, 5:46:47 PM1/17/19
to Comunidad de Visual Foxpro en Español
hola a todos, las versiones 10 y 11 de postgresql ya tiene liberado el proceso de replicaciones, es muy sencillo de implementar aquí les dejo un link para los interesados, http://yallalabs.com/linux/how-to-setup-a-logical-replication-on-postgresql-10/ .
En lo particular ya lo tengo en producción con este tipo de procesos solo publicas tu base de datos maestra y haces subscripciones hacia donde quieres dejar una replica.

Slds...
Mapasac
General Escobedo, N.L. Mexico

micky khan

unread,
Jan 18, 2019, 8:20:09 AM1/18/19
to publice...@googlegroups.com
Eso es bueno....yo estoy con la 9.4

Consulta : Es tan simple como en las anteriores versiones pasar de la 9.4 a la 11 ?? con un backup y una restauracion ? 

Martin Paredes

unread,
Jan 18, 2019, 11:09:30 AM1/18/19
to Comunidad de Visual Foxpro en Español
hola micky buen dia, efectivamente todo funciona perfectamente, en lo particular yo utilizo pgadmin 4, pero, solo hay que considerar algunos tips...

versión 11
-pgadmin4 cambio de versión de desktop visual c++ a python web.
-versión solo para plataformas en windows de 64 bits...
-respaldos y restauraciones sin cambios.

versión 10
-pgadmin4 cambio de versión de desktop visual c++ a python web.
-versión para plataformas en windows de 32/64 bits...
-respaldos y restauraciones sin cambios.

antes de que liberaran el proceso completo de las replicaciones mas amigables por parte de enterprice DB yo utilizaba funciones de respaldos en linea via dblink. ahora a partir de en la version 10 automaticamente se hacen las replicas y respaldos logicos, para servicios locales y remotos...

PD:utilizo postgresql en linux ubuntu/debian/red hat y win 2008/R2-2012/R2-2016-2019 MS Server.

Slds....
Mapasac
General Escobedo N.L. Mexico

El martes, 8 de enero de 2019, 13:15:44 (UTC-6), pupo escribió:

Ing.Daniel Bojorge

unread,
Jan 18, 2019, 11:38:57 AM1/18/19
to publice...@googlegroups.com
Así es, la migración es muy sencilla.

Y si, ya postgresql 11 trae su propia gestión de respaldos que está muy muy buena.

Si desean otra opción de respaldos, que sea parametrizable, existe SymmetricDS, abajo en mi firma más información.


Mi Blog
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


pupo

unread,
Jan 21, 2019, 9:56:50 AM1/21/19
to Comunidad de Visual Foxpro en Español

Hacer un procedimiento almacenado o como se llame en Pg que desde VFP9 lo ejecute un usuario determinado que elimine la BD y me corra mi script de Restaurar en "bat"

Gracias y que tengan buen dìa.

Pupo

Carlos Miguel FARIAS

unread,
Jan 21, 2019, 10:34:08 AM1/21/19
to Grupo Fox
Se presupone que quien hace ese proceso debe tener permisos de dueño de la base de datos (Admin o equivalente). Cuando borras la BD, no puede haber nadie conectado que no se el Admin, y luego correr el proceso de restauración.
Estarías exponiendo mucho la seguridad, si fuese tu auditor de sistemas te descalificaría.
Además, tener que restaurar una bd de postgres es por una situación catastrófica. No delegaría eso a una opción de menú de un fulano. Sea en VFP, o lo que sea.

pupo

unread,
Jan 21, 2019, 10:47:07 AM1/21/19
to Comunidad de Visual Foxpro en Español

Miguel!

Respeto su criterio pero todo software tiene de vez en cuando su restaura, pues a "veces" hay sus errores y lo unico que salva la situación es una restaura y por supuesto, que tiene que ser un admin. Además el proyecto es pequeño y a lo sumo no pasa de 4 usuarios. 

Que haría usted cuando es un software de cierre de procesos y para retornar debes volver atrás, y eso es con una restaura, tiene otra idea que no sea con una restaura?

Gracias por su criterio también es válido, las discrepancias traen soluciones!

Pupo

Martin Paredes

unread,
Jan 21, 2019, 12:27:19 PM1/21/19
to Comunidad de Visual Foxpro en Español
pupo, buen día,comparto la opinión de miguel, toda identidad tiene sus roles, atribuciones y permisos, en cualquier negocio, chico, mediano o grande, la sra. de la limpieza no va a utilizar el sistema para hacer un borrado y restauracion de la base de datos de la empresa en la que labora. para eso existe un administrador local o externo.

es mala practica lo que propones....

slds...
Mapasac
General Escobedo, N.L. Mexico.

El martes, 8 de enero de 2019, 13:15:44 (UTC-6), pupo escribió:

Ing.Daniel Bojorge

unread,
Jan 24, 2019, 9:44:47 AM1/24/19
to publice...@googlegroups.com
Comparto la opinión de Miguel.  Esa acción tan "delicada" no debería de estar en las opciones del sistema. 


Mi Blog
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


Carton Jeston

unread,
Jan 24, 2019, 10:35:46 AM1/24/19
to Comunidad de Visual Foxpro en Español
Se puede tener en opciones de sistema, pero con una contraseña que solo sepa el desarrollador o el encargado de sistema. Incluso una doble verificacion entre encargado de sistema y clave del desarrollador (via remota). Antiguamente lo hacian con dos llaves en los silos de misiles... ;-)



Ing.Daniel Bojorge

unread,
Jan 24, 2019, 2:06:28 PM1/24/19
to publice...@googlegroups.com
Eso si... con muchas restricciones se podría.


Mi Blog
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


Carton Jeston

unread,
Jan 24, 2019, 5:03:04 PM1/24/19
to Comunidad de Visual Foxpro en Español
Algo asi como en Juegos de Guerra.... ¡por favor, gire la llave!


El jueves, 24 de enero de 2019, 20:06:28 (UTC+1), Daniel Bojorge (Foros) escribió:
Eso si... con muchas restricciones se podría.


Imagen relacionada

Ing.Daniel Bojorge

unread,
Jan 24, 2019, 5:37:26 PM1/24/19
to publice...@googlegroups.com
Exactamente.

Mi Blog
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


Carlos Miguel FARIAS

unread,
Jan 29, 2019, 10:01:39 AM1/29/19
to Grupo Fox
Me fui una semana de vacaciones y las vacaciones, SON VACACIONES (y lejos del e-correo que tengo un montón para leer).
El colega pregunta como volver atrás cuando se hizo un proceso de cierre (que el soluciona con una restauración de bd).
Esa solución la he aplicado con sistemas monousuario con tablas nativas y es práctico. Un buen usuario puede hacerlo (recopia el directorio de BK que hizo previo al cierre).
Pero esa solución sobre un BD Postgresql, es como usar un cuatri para empujar el carrito del supermercado.
Como se puede hacer si hacer restaura?
Bueno, acá la cuestión es como se ha instrumentado el sistema y el modelo de datos.
Si es un sistema basado en un modelo contable "puro", se crean contraasientos que neutralizan el proceso incorrecto.
Si las operaciones que se incluyen en el cierre tienen bien la fecha y toda la data generada o es calculable y mantiene su fuente, se podría correr un programa que tome las transacciones y las aplique en forma inversa para volver al punto inicial.
Otra forma es trabajar por estados, en mi caso usaba que los distintos pasos los registros que se estaban procesando pasaban de un estado a otro (p.e.).
0 al crearse, 1 primera pasada, 2 primer control, 3 aprobada, 4 impresa, 5 formalizada, 6 cerrada.
Toda transacción que no estuviera en estado 6 podía retrotraerse a cualquiera de los estados previos. Normalmente, si ya estaba formalizada y tener que borrarla, convenía hacer un proceso de ajuste formal corrector.
Pero todo esto es instrumentable solo si el sistema esta planteado para eso.
Por ejemplo. Todos los movimientos de stock tienen que quedar registrados. No puedo hacer una venta e ir modificar el stock en el registro del producto sin haber guardado los datos del cambio en algún otro lado.
El archivo de movimientos en stock (y esto es válido para cualquier cosa con números que se suman o se restan u otro tipo de cálculo) guarda un valor "testigo" para consultas rápidas y no tener que hacer un SUM() algebraico de los movimientos para reconstruir la existencia (o saldo de cta. cte., o moneda en caja, etc.).
Por eso, la solución a no recargar la bd para anular un proceso de datos fallido, dependerá de como está diseñado el sistema.
postgresql permite bk por tabla también, entonces, no tienes que recuperar toda la bd.
También permite otros tipos de bk que te permiten recuperar a un momento dado, entonces, no tienes que pisar todo.
Además, si hiciste los bk 1, 2, 3, 4, y antes del 5 tenes que recuperar, el fulano encargado se equivoca y restaura el 3, todo lo que va entre 3 y 4 se pierde y si no tienes las transacciones bien cargadas, mamadera!!!
Saludos: Miguel, La Pampa (RA)
Larga Vida y Prosperidad
Que la fuerza los acompañe, para salir a delante y no con un chaleco

eap pupo

unread,
Jan 31, 2019, 7:27:44 AM1/31/19
to publice...@googlegroups.com
Buenos días!

Muy esclarecedora su respuesta me parece que tengo que rediseñar el sistema, por supuesto, que está en tablas nativas, estás muy claro de la situación de hecho estaba rediseñando pero con esos cierres por etapas. Muy válida y oportuna su respuesta ha sido hasta ahora la más completa como es el caso de emigrar y quisiera que fuera con Postgres.
Muchas gracias amigo y espero que otros principiantes en la materia le sirva de una buena clase todo este debate pues han sido varios lo que han dedicado este tiempo a este tema a ellos también le doy las gracias, realmente hay un gran equipo. Por ahora no doy como finalizado el tema pero su respuesta se acerca casi al 100%. Entre más debate quedará bien claro para todos los que vienen detrás a iniciar en este tema pues realmente ha sido una gran conferencia. Esta es la segunda ocasión que plantee este tema pero nunca cogió esta fuerza de debate. Dicen que el que persevera triunfa.

Buen día a todos!
Pupo

Reply all
Reply to author
Forward
0 new messages