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).
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.