Guten Morgen,
Ich habe in meiner pg_log folgende Einträge:
2010-11-03 08:48:21.050 CET 10.0.206.11 2904 5966307LOG: temporäre Datei: Pfad »base/pgsql_tmp/pgsql_tmp2904.3«, Größe 9313696
2010-11-03 08:48:21.050 CET 10.0.206.11 2904 5966307ZUSAMMENHANG: SQL-Anweisung »INSERT INTO mv_statistik SELECT * FROM v_statistik«
PL/pgSQL function "mv_refresh" line 15 at EXECUTE-Anweisung
2010-11-03 08:48:21.050 CET 10.0.206.11 2904 5966307ANWEISUNG: declare "SQL_CUR05EBF800" cursor with hold for SELECT mv_refresh('mv_statistik');fetch 20000 in "SQL_CUR05EBF800"
in meiner postgresql.conf steht folgendes:
temp_buffers = 64MB
Ich glaube mich erinnern zu können, “temp_buffers” auf den Wert zu setzen, der der Größe der größten temporären Datei entspricht.
Zu meiner Frage welche Einheit hat die “Größe 9313696”?
Hintergrund:
Unser gesamtes System ist jetzt im moment recht langsam und wir suchen ob DB, App-Server oder Programmstand.
Es fällt auf, dass ich diese temp-Datei-Einträge bekomme, wenn ich die Statistiken aktualisiere.
Dabei wird dies mit einer Funktion mv_refresh gemacht, die ein “Select * from view” in eine Tabelle vornimmt.
Obige Ausgabe kommt im 5 sekunden abstand.
08:47:28,
08:47:36,
08:47:40,
08:47:41…