RE: pgAgent Jobs on replica

From: Greg Bryant <gregabryant(at)hotmail(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: "pgadmin-support(at)lists(dot)postgresql(dot)org" <pgadmin-support(at)lists(dot)postgresql(dot)org>
Subject: RE: pgAgent Jobs on replica
Date: 2021-04-26 14:44:36
Message-ID: BLAPR05MB7236A5A3547D8DF9A0F650F0AB429@BLAPR05MB7236.namprd05.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Thanks for the reply.

I saw that as an option but I don’t really want to have to go modify every pgAgent job after a switch-over to the replica (not that I have that many jobs or that PostgreSQL hardly ever fails). I’m more concerned that another administrator doesn’t know that all the jobs would need modified if a switch-over did occur.

Could pgAgent itself be modified to have an ‘enable on replica’ toggle similar to the ‘enable’ toggle in the job setup? I’m not sure you’d ever want to run a pgAgent job on a replica but someone might want to (but the tables themselves are being updated by the master via replication so how would that work?).

I guess I can modify the jobs to check if the server is in recovery; pgAgent jobs do fail on the replicas since the database is in read-only; it’s just some jobs run bash scripts (I’ve set them up to check if the database is in recovery already).

Thanks,

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

From: Dave Page<mailto:dpage(at)pgadmin(dot)org>
Sent: Monday, April 26, 2021 4:08 AM
To: Greg Bryant<mailto:gregabryant(at)hotmail(dot)com>
Cc: pgadmin-support(at)lists(dot)postgresql(dot)org<mailto:pgadmin-support(at)lists(dot)postgresql(dot)org>
Subject: Re: pgAgent Jobs on replica

Hi

On Sat, Apr 24, 2021 at 6:47 PM Greg Bryant <gregabryant(at)hotmail(dot)com<mailto:gregabryant(at)hotmail(dot)com>> wrote:
I have several pgAgent jobs that run on the ‘master’ database. They fail on the replica since it’s a ‘read-only’ connection. I’m creating a couple jobs to run some bash scripts but I don’t want them to run on the replica server.

Is there a way to prevent pgAgent jobs from executing on the replica server? Wrap all the jobs in an ‘if’ statement to check if the server is in_recovery? Disable the daemon on the replica server?

I’m currently running PostgreSQL 11 with pgAgent 4.

You can use the Host Agent field to specify a particular node that a job should run on - see https://www.pgadmin.org/docs/pgadmin4/5.2/pgagent_jobs.html

--
Dave Page
Blog: https://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: https://www.enterprisedb.com

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Dave Page 2021-04-26 14:58:01 Re: pgAgent Jobs on replica
Previous Message Dave Page 2021-04-26 08:07:55 Re: pgAgent Jobs on replica