Blog

Noticias

Lanzamiento de pg_dbms_job v1.2.0

Grenoble – 11 de abril de 2022

Extensión de compatibilidad DBMS_JOB para PostgreSQL

pg_dbms_job es una nueva extensión para PostgreSQL que permite crear, gestionar y utilizar trabajos programados DBMS_JOB al estilo de Oracle. Su uso y comportamiento es idéntico al del paquete DBMS_JOB de Oracle.

Permite gestionar trabajos programados desde una cola de trabajos o ejecutar de inmediato trabajos de forma asíncrona. Un trabajo consta de un código a ejecutar, de la siguiente fecha de ejecución y de la frecuencia de ejecución del mismo trabajo. El trabajo ejecuta un comando SQL, un código plpgsql o un procedimiento almacenado existente.

Se ha publicado pg_dbms_job v1.2.0. Se trata de una versión de mantenimiento para solucionar algunos problemas reportados por los usuarios en los últimos ocho meses. También añade algunas mejoras útiles.

  • Añade la directiva de configuración job_queue_processes para controlar el número máximo de trabajos procesados de forma simultánea.
  • Mantiene las entradas en la tabla de trabajos para poder controlar la duración de una tarea.
  • Permite los escapes de strftime() en el nombre del archivo de registro; por ejemplo, para disponer de un archivo de registro por día de la semana se utiliza %a en el nombre del archivo.
  • Se añade una nueva directiva de configuración log_truncate_on_rotation para truncar el archivo en la rotación. Cuando está activada, un archivo de registro existente con el mismo nombre que el nuevo archivo de registro se truncará en lugar de ser añadido. Sin embargo, este truncamiento sólo se produce en la rotación por tiempo, no en los reinicios.
  • Permite que pg_dbms_job se ejecute en un servidor standby sin informar del error. El daemon detecta que se está ejecutando en un standby y se desconecta inmediatamente. Intentará conectarse después de 3 segundos.
  • Cuando falla la conexión, intenta reconectar PostgreSQL después de 3 segundos.