Una de las tareas rutinarias (job) de un administrador de bases de datos (DBA por sus siglas en inglés) son las copias de seguridad. Con PostgreSQL podemos realizar esta tarea de mantenimiento de forma manual, así como también podemos programarla.
Sí nos decantamos por hacer las copias de seguridad manualmente, tenemos que estar presente para realizar la conexión con cada base de datos y lanzar el comando. Por lo que supone tener que realizarlo constantemente, dependiendo de la política de copias de seguridad que establezcamos.
En cambio, podemos programar un script para que las copias de seguridad se realicen de forma automática y periódicamente. De esta forma, tan solo tenemos que realizarlo una única vez y nos desentendemos de tal tarea.
En el caso de que necesitéis crear tareas programadas en PostgreSQL, disponemos de un curso de job donde se ven más en profundidad todas las herramientas que describimos a continuación.
Tareas programas (job)
En PostgreSQL no existen los job como tal. Por ello para crear las tareas programadas, tenemos que hacer uso de herramientas proporcionadas por el sistema operativo o con extensiones. De esta forma podemos crear los job dentro de una base de datos de nuestro servidor PostgreSQL.
Herramientas del Sistema operativo
A nivel de sistema operativo, disponemos de herramientas diferente dependiendo de la arquitectura utilizada.
Para todos los sistemas operativos con arquitectura UNIX, los cuales pueden ser: Linux, Centos, Red Hat, Mac X, etc. Disponemos de la herramienta cron, la cual podemos programar las tareas de forma sencilla.
Los sistemas operativos de Microsoft Windows tienen su propia herramienta para poder crear las tareas programadas. Ésta herramienta es task manager, más comúnmente llamado “programador de tareas”.
Extensiones
Podemos utilizar herramientas externas para implementar job en PostgreSQL utilizando unas extensiones ya existentes.
Estas herramientas permiten crear las tareas programadas, los job, directamente desde nuestra base de datos.
En el caso que nos guste utilizar el cliente gráfico, pgAdmin para administrar PostgreSQL, podemos implementar un módulo para crear los job. Éste módulo es pgAgent. Sin embargo, para poder implementarlo en el cliente gráfico pgAdmin, precisamos de unos requisitos. Tendremos que compilar e instalar el paquete pgAgent, posteriormente ejecutar el servicio y crear la extensión.
En cambio, si nos manejamos mejor con el cliente estándar psql utilizando un terminal, podemos utilizar la extensión pg_cron. Para ello, tenemos que compilar el código fuente y crear la extensión dentro de nuestra base de datos.
Conclusión
En definitiva, para crear tareas programadas en Postgres, debemos de utilizar las herramientas proporcionadas por el sistema operativo o extensiones. En el curso de job lo puedes ver más a fondo y cómo se utilizan cada una de estas herramientas paso a paso. Desde la instalación de la herramienta hasta la verificación del job, pasando por la creación y configuración de la tarea.