Domski > Danke, war wohl etwas dünn formuliert
Mit den Clients liegst Du richtig. Das ist eine stinknormale Java-App, die per JDBC eher kleinere Portionen Daten verdaut bzw. zurückschreibt.
Auf dem Host (Linux + Postgres) läuft auch ein Java-Programm, dass zahlreiche Aufgaben zu erledigen hat (oft nur Kleinigkeiten, die zentral laufen müssen z.B. automatischer Feiertagskalender etc.). Neben den Kleinigkeiten, besteht auch die Aufgabenstellung, dass basierend auf verschiedenen Stammtabellen (welche durch Aktionen der Clients verändert werden können), Daten für ein anderes System generiert werden müssen (erforderlich, da das andere System weder Performance noch Kapazität für solche Zwecke bereitstellt). Diese Generierung ist recht umfangreich und wird durch das Java-Programm auf dem Host initiiert per Funktionsaufruf (plpgsql) in der DB (SELECT generate()).
Was ich mir vorstelle, ist die Reduzierung der Prozesspriorität für:
:arrow: a)
eine einzelne Abfrage (hier: SELECT generiere())
:arrow: b)
den gesamten Prozess der DB-Session, da es mich nicht stören würde, wenn auch die anderen Kleinigkeiten, die auf dem Server laufen müssen, mit niedrigerer Priorität ausgeführt werden.
:idea: Ich habe bereits darüber nachgedacht einen eigenen Dämon zu schreiben, der anhand der Connection-Eigenschaften der Prozesse auf dem Host, den gesuchten Prozess ermittelt und dessen Priorität verändert (technisch dürfte das kein Problem darstellen, aber ich halte das für wenig elegant und darüber hinaus besitze ich kein detailiertes Wissen darüber, welche Seiteneffekte evtl. für den Prozess entstehen, zumal der Session-Prozess ja nicht allein läuft, sondern im Verbund mit den 3 Hauptprozessen der Datenbank steht).
Was ich mir wünschen würde: SET SESSION … PRIORITY IDLE; Was bedeuten würde, dass ich innhalb der Session selbst bestimmen kann, mit welcher Priorität welche Aufgaben erledigt werden (also auch die gleiche Funktion mit verschiedener Priorität).
Experten helft! -> Freue mich schon auf die Antworten.