shared memory für PostgreSql auf Native Windows

hallo an alle,

ich bin relativ neu bei postgresql und versuche erste Erfahrungen bei der Portierung von Oracle - DB’s zu sammeln. In diesem Zuge beschäftige ich mich seit einigen Stunden mit einem Thema, das scheinbar so nirgendwo diskutiert oder beschrieben wird.

In der postresql.conf existiert der parameter shared_buffer dessen Bedeutung an sich relativ simpel erscheint. Nach meinen Recherchen sollte dieser Buffer vom postmaster gemeinsam für alle postgres backend Prozesse reserviert werden. Unter Windows XP jedenfalls erfolgt laut Taskmanager die Reservierung je postgres - Prozess, was bei einer Erhöhung des Buffers über den Defaultwert von 1000 hinaus zu einem erheblichen Speicherverbrauch führt. Ein Vergleich zu einem Unix/Linux - System kann ich nicht anstellen.

Wie ist bei einem solchen Verhalten der Sinn des SHARED_buffer zu verstehen? Ist Windows - auf Grund des Fehlens von shared memory in der Architektur (die Windows Alternative sind memory mapd files) keine geeignete Systemplattform für PostgreSql? Oder gibt es unter Windows hier besondere - jedoch in der Dokumentaion für mich nicht ersichtliche - Aspekte zu beachten?

Wenn mir jemand helfen könnte oder schon Erfahrung hat, so würde ich mich freuen. Danke im Voraus!

Georg

Die Implementierung dürfte hier … Betriebssystem abhängig sein.

Der reservierte Speicher steht ja allen Prozessen zur Verfügung. Das kann ich also einmal bei jedem Prozess anzeigen, denn es kann ja jeder darauf zugreifen. Einmal kann ich mir aber auch aussuchen, bei welchem Prozess ich das anzeige. Vielleicht bei dem, der den Speicher reserviert hat?

Hast du denn konkret getestet, ob du in Speicherplatzprobleme läufst, wenn du mal einen hohen Wert einstellst und mehrere Datenbankverbindungen öffnest?