Está en la página 1de 16

Universidad Católica Santo Toribio de Mogrovejo

Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas y Computación

Informe para la programación de transacciones en PostgreSQL y


realización de backup en una base de datos
Integrantes:
Tullume Garnique, Eduardo Natalio.
Ubillus Navarro, Alexis Martin.
Valdivieso Figueroa, Franco Rodrigo.

Docente:
CASTILLO ZUMARAN, SEGUNDO JOSE

21 de noviembre del 2022


Transacciones
Definimos transacción como un conjunto de operaciones que tienen significado solamente al
actuar juntas.

PostgreSQL ofrece soporte a transacciones, garantizando que ambas operaciones se realicen o


que no se realice ninguna. Para iniciar una transacción, se utiliza el comando BEGIN y para
finalizarla, COMMIT.

Ejemplo

Una compra puede ser una transacción que conste de dos operaciones:

- Insertar un registro del pago del producto.


- Insertar el producto en el inventario.

No se debe insertar un producto que no se haya pagado, ni pagar un producto que no esté en el
inventario, por lo tanto, las dos operaciones forman una transacción.

El nuevo registro tiene como clave el número 13 y, de momento, hasta que finalice la
transacción, sólo puede verlo el usuario que lo ha insertado.
Insertamos un registro con el precio del proveedor Patito para el producto con clave 13.

Al cerrar la transacción, los registros insertados ya son visibles para todos los usuarios. Si por
alguna razón, por ejemplo, una caída del sistema, no se ejecuta el COMMIT, la transacción se
cancela. La forma explícita de cancelar una transacción es con el comando ROLLBACK

Las transacciones de PostgreSQL

No hay ninguna característica en las transacciones de PostgreSQL que lo diferencien de lo que


especifica el estándar. Ya hemos visto en apartados anteriores que las filas implicadas en una
transacción mantienen unas columnas ocultas con información acerca de la propia transacción.

Ejecutando transacciones con distintos usuarios

En el mundo real, cuando se este trabajando con base de datos relacionales, se suelen trabajar
con distintitas computadoras y por ende distintos usuarios. En este apartado del trabajo vamos
a simular como sería una transacción con dos usuarios distintos:

- Usurario_to: Usuario que van a tener el control de toda la base de datos y otro usuario
- Usuario_1: Usuario que van a tener el control de:
o Los alumnos y su curso aprobados (Tablas de alumno, curso, detalle matricula,
matricula).
o Docentes y sus Horarios (Tablas de docente y horario).

Primero creamos dos usuarios y la otorgamos privilegios para poder simular


Computadora 1 (Todos los Permisos)
Usuario_to Computadora 2 (usuario_1)

Cuando realizamos la consulta de buscar por numero de documento al alumno insertado


con el Usuario_to, en el otro terminal o computadora no se puede ver o no existe, por
el simple hecho que no encontramos en una transacción que empieza con la palabra
reservada BEGIN.

Computadora 1 (Todos los Permisos)


Usuario_to
Computadora 2 (usuario_1)

Para que la transacción termine tenemos que utilizar la palabra reservada COMMIT, y cuando
realizamos la consulta en la otra terminal o computadora ahora si con ya nos busca al estudiante
que registramos.
¿Qué es un backup?

Es una copia de seguridad o copia de reserva a una copia de los datos originales de un
sistema de información o de un conjunto de software (archivos, documentos, etc.) que
se almacena en un lugar seguro o una región segura de la memoria del sistema, con el
fin de poder volver a disponer de su información en caso de que alguna eventualidad,
accidente o desastre ocurra y ocasione su pérdida del sistema.
En qué consiste y para qué sirve tener copias de seguridad
Gracias a las copias de seguridad, conseguimos tener un plan de acción en caso de que
se produzca un problema con los sistemas de la empresa. Así, en caso de que perdamos
parte o toda la información, ésta nos permitirá recuperarnos rápidamente. Con esto
reducimos el tiempo de respuesta ante la incidencia y salvamos la información
importante de la empresa.

Los backups pueden tratarse de una copia creada de forma automática cada cierto
tiempo, o de un procedimiento que llevemos a cabo de forma manual.
¿Cuáles son los beneficios de realizar backups en las empresas?
Contar backups nos sirve para cumplir con varios aspectos que toda auditoría de
seguridad recomendaría. De ellos, los más destacados son:

● Capacidad de respuesta: gracias a las copias guardadas, podremos tener toda la


información recuperada en un lapso corto de tiempo.
● Incremento de la confianza del cliente: Tener esta opción no solo nos brinda la
seguridad de nuestra información como empresa, sino que satisface al cliente con la
tranquilidad de que sus datos o información estén seguros en la empresa.
● Seguridad adicional: todas las medidas de seguridad que implementemos servirán para
proteger más y mejor a nuestro negocio y clientes. Las copias adicionales nunca estarán
de más, con independencia del volumen de datos y servicios que manejamos.

Como hacer un Backups automáticos en PostgreSQL

Paso 1
El primer paso a realizar , es crear nuestro carpeta donde queramos que se guarden
nuestros backups y lo más importante es obtener la ruta de acceso al lugar de la carpeta,
tambien saber la ruta del pg_dump.
Paso 2
En el paso 2 necesitamos crear un bloc de notas dentro de la carpeta que creamos, el
blog de nota debe contener el siguiente script:
Script:
el lugar donde esta instalado tu postgres -> I:
cd <ruta donde esta el pg_dump>

set PGPASSWORD=<pgpassword>

pg_dump -h "<hostname>" -U "<username>" -f "<backuppath with


filename>_%date:~-4,4%_%date:~-7,2%_%date:~-10,2%_%time:~0,2% %time:~3,2%-
%time:~6,2%" "<database>"

Ejemplo:
importante colocar el nombre del archivo al final “\bd_romero”.

Paso 3
Posteriormente guardamos el bloc de notas con el siguiente nombre:
back_up_cmd.bat
Paso 4
Una vez creada nuestro script apretaremos la tecla de Windows y buscaremos la
aplicación de Windows “Programador de tareas”

Paso 4.1
Dentro de la app seleccionaremos la opción “biblioteca del programador”.

Después apretamos en la opción crear tarea básica y le otorgamos un nombre


Paso 4.2
Después de establecer un nombre a nuestra tarea apretamos el botón siguiente, donde
seleccionaremos que tan a menudo queremos que se ejecute esta tarea, una vez
establecida apretamos el botón siguiente.

Paso 4.3
Ahora nos queda establecer los parámetros como la fecha que queremos que inicie a
funcionar esta tarea, la hora y las veces que queremos que se repita durante el día, una
vez establecidos los parámetros apretamos el botón siguiente.
Paso 4.4
En este paso seleccionamos la opción iniciar programa y apretamos a siguiente.

Paso 4.5
Apretamos a examinar y buscamos nuestro archivo bat dentro del asistente de creación
de tareas.
Paso 4.6
Clickeamos finalizar, y ya tendríamos un backup automático localmente.
Como hacer un Backups en la nube en PostgreSQL

Paso 1
Descargar y instalar la aplicación “SQLBackupAndFTP”
Link: https://sqlbackupandftp.com
una vez instalada abrimos la app y apretamos la opción conectar servidor

Paso 1.1
Ahora completamos los campos para conectar la app a nuestro pgAdmin

Paso 1.2
Posteriormente apretamos el test Connection el cual nos dará un mensaje de conexión
exitosa.
después de ese mensaje apretamos “save & close”
Paso 2
Una vez constatada con pgadmin seleccionaremos “Select Databases”

Paso 2.1
Ahora escogemos la base de datos que queremos subir a la nube

Una vez seleccionado le damos a “save & close”

Paso 3
Ahora tenemos que configurar el lugar donde queremos almacenar, por lo tanto,
apretamos la opción “Store Backups in selected destinations”

Ahora escogemos el lugar donde queramos subir nuestro Backups


Paso 3.1
En mi caso seleccione Google drive, ahora tendré que logear mi cuenta de google para
poder acceder al drive, nos logueamos apretado el botón “Authorize”.

Al momento de logearnos google nos brinda el código de acceso, el cual pegaremos en


nuestra app, y apretamos el botón “CONECT”
Paso 3.2
Una vez conectado, colocamos el nombre de nuestra carpeta donde se almacenará
nuestro backup de dicha base de datos, también seleccionaremos el tiempo que
queremos que duren los archivos en nuestro drive, una vez acabado apretamos el botón
“save & close”.
Paso 4
Ahora seleccionaremos la opción de establecer un horario y apretaremos el icono de
tuerca

Paso 4.1
Configuramos a nuestro gusto la hora en el cual se realizará el backup, después de
configurar apretamos el botón “save & close”.

Paso 5
Apretaremos y llenaremos la opción “send confirmation”.

Paso 6
paso final es darle a “run now”, después de eso solo quedaría esperar a que se haga el
respaldo,
Paso 6.1
La base de datos estar subida cuando nos aparezca en JOB status el verde “SUCCESS”.

Paso 6.2
Por último, verificamos si se subió nuestra base de datos

También podría gustarte