Zainstalowałem pgAgent
w naszym PostgreSQL
baza danych do planowania naszych zadań, która naprawdę działa jak urok!
Jednak po przywróceniu kopii zapasowej z naszegobaza danych na serwerze testowym, pgAgent po prostu nie uruchomił się. Co ciekawe, pgAgent ignoruje bieżący stan danych w tych tabelach dziennika i próbuje wypełnić je od zera.
Zobacz komunikat o błędzie w pliku dziennika:
postgres@postgres ERROR: duplicate key value violates unique constraint "pga_jobsteplog_pkey"
postgres@postgres DETAIL: Key (jslid)=(1) already exists.
postgres@postgres STATEMENT: INSERT INTO pgagent.pga_jobsteplog(jslid, jsljlgid, jsljstid, jslstatus) SELECT 1, 25, 3, "r" FROM pgagent.pga_jobstep WHERE jstid=3
Jeśli zastanawiasz się, jak wykonać kopię zapasową:
pg_dumpall --file "/media/jones/Daten/fulldump.sql" --host "address-to-my-server.de" --port "5432" --username "myuser" --no-password --database "mydb" --clean --if-exists --verbose
Środowisko:
Ubuntu 16.04
PostgreSQL 9.5
pgAgent 3.4.1-2
Jakieś pomysły, jak przywrócić pgAgent do życia?
Pozdrowienia z Niemiec,
Jim
Odpowiedzi:
0 dla odpowiedzi № 1Zdecydowanie nie jestem zadowolony z rozwiązania, ale jest to jedyne, jakie do tej pory mogłem wypracować. Obcinanie tabeli dziennika rozwiązuje problem, ale usuwa całą dotychczasową historię zadań (nic wielkiego w większości przypadków użycia):
TRUNCATE TABLE pgagent.pga_jobsteplog;
Jeśli ktoś ma bardziej eleganckie rozwiązanie, daj mi znać :-)