Maximale Anzahl offener Verbindungen für jede einzelne Datenbank limitieren?

Konfiguration des PostgreSQL Datenbankservers.

Maximale Anzahl offener Verbindungen für jede einzelne Datenbank limitieren?

Beitragvon eMKay » Mi 7. Mär 2012, 11:11

Hallo Postgresgemeinde,

ist es möglich die maximale Anzahl offener Verbindungen für jede einzelne Datenbank limitieren?
In der config gibt es ja den Parameter "max_connections" der bezieht sich auf den gesamten Datenbankserver.
Kann Postgresql beim Verbindungsaufbau danach filtern zu welcher Datenbank die Verbindung aufgebaut werden soll und diese limitieren wenn bereits zu viele offen sind?
Der Hintergrund dahinter ist relativ einfach. Wenn mehrere Applikationen unterschiedlicher Kunden auf einem PostgreSQL Server laufen, möchte man ja nicht, dass eine Applikation die gesamte Datenbank lahmlegt. Nur weil irgendwo die Verbindungen nicht ordnungsgemäß abgebaut werden. Auch DoS Angriffen macht man es einfach Applikationsübergreifenden Schaden anzurichten, wenn eine Applikation die gesamte Anzahl der offenen Verbindungen beanspruchen kann.

Hat jemand eine Idee wie man so etwas in den Griff bekommt?

Grüße,

Max
eMKay
Neuer Benutzer
 
Beiträge: 16
Registriert: Do 12. Jan 2012, 13:59

Beitragvon akretschmer » Mi 7. Mär 2012, 11:16

eMKay hat geschrieben:Hallo Postgresgemeinde,

ist es möglich die maximale Anzahl offener Verbindungen für jede einzelne Datenbank limitieren?
In der config gibt es ja den Parameter "max_connections" der bezieht sich auf den gesamten Datenbankserver.
Kann Postgresql beim Verbindungsaufbau danach filtern zu welcher Datenbank die Verbindung aufgebaut werden soll und diese limitieren wenn bereits zu viele offen sind?
Der Hintergrund dahinter ist relativ einfach. Wenn mehrere Applikationen unterschiedlicher Kunden auf einem PostgreSQL Server laufen, möchte man ja nicht, dass eine Applikation die gesamte Datenbank lahmlegt. Nur weil irgendwo die Verbindungen nicht ordnungsgemäß abgebaut werden. Auch DoS Angriffen macht man es einfach Applikationsübergreifenden Schaden anzurichten, wenn eine Applikation die gesamte Anzahl der offenen Verbindungen beanspruchen kann.

Hat jemand eine Idee wie man so etwas in den Griff bekommt?

Grüße,

Max


Du kannst max_connections per Database setzen, via ALTER DATABASE. Bruce Momjian: Postgres Blog


Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5937
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon eMKay » Mi 7. Mär 2012, 16:38

Super, vielen Dank.
ALTER DATABASE connlimit ist genau das was ich gesucht habe.

Max
eMKay
Neuer Benutzer
 
Beiträge: 16
Registriert: Do 12. Jan 2012, 13:59


Zurück zu Konfiguration

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste