Hallo,
an welchen Konfigurationsparametern kann ich für eine Optimierung hinsichtlich OLTP Anfragen drehen?
Danke und liebe Grüße
Marcus
Das hängt mal sehr stark von deiner Anwendung ab ...
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Es geht um normale INSERTS, soviel wie möglich in kürzester Zeit.
Die Parameter:
checkpoint_segments = 16MB
checkpoint_timeout = 5min
commit_delay = 100
habe ich so angepasst. Was geht noch?
mfg
Marcus
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Du könntest Tablespaces nutzen, um Tabellen, Indexe und Logfiles auf getrennte Spindeln zu legen. Das lohnt sich. (wenn es reale Platten an untersch. Controllern sind).
Du könntest auch, falls möglich, von INSERT auf COPY wechseln.
Und wenn es Inserts in Tabellen sind, die via RI zusammenhängen, und da dann auch die erzeugten IDs mit currval() abzufragen sind oder solche Dinge, dann writeable CTE nutzen (8.5devel) *g*
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Du meinst mit Copy, oder?
Ich glaube ich Spinne. Ich habe den Parameter checkpoint_segements verändert und noch startet der Server nicht mehr. Selbst wenn ich den wieder auf 16MB stelle oder 3MB oder was auch immer. Wenn ich den Parameter auskommentiere startet der Server. Was ist das denn? Bug? Fehlbedienung?
mfg
Marcus
Was steht im Logfile, warum der nicht starten will?
Wie genau steht die Zeile in der Konfigurationsdatei? Bitte hier pasten.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
So schaut die Logfile aus:Code:checkpoint_segments = 16MB
Und das ist die Fehlermeldung von Windows:Code:2009-11-19 16:06:18 CETLOG: Datenbanksystem wurde am 2009-11-19 16:01:07 CET heruntergefahren 2009-11-19 16:06:18 CETLOG: Datenbanksystem ist bereit um Verbindungen anzunehmen 2009-11-19 16:06:18 CETLOG: Autovacuum-Launcher startet 2009-11-19 16:06:18 CETLOG: Verbindung empfangen: Host=bh5pmp1h.de.bosch.com port=1550 2009-11-19 16:08:28 CETLOG: schnelles Herunterfahren verlangt 2009-11-19 16:08:28 CETLOG: etwaige aktive Transaktionen werden abgebrochen 2009-11-19 16:08:28 CETLOG: Autovacuum-Launcher fährt herunter 2009-11-19 16:08:28 CETLOG: fahre herunter 2009-11-19 16:08:28 CETLOG: checkpoint starting: shutdown immediate 2009-11-19 16:08:28 CETLOG: checkpoint complete: wrote 620 buffers (0.6%); 0 transaction log file(s) added, 0 removed, 0 recycled; write=0.016 s, sync=0.031 s, total=0.047 s 2009-11-19 16:08:28 CETLOG: Datenbanksystem ist heruntergefahren
The PostgreSQL Server 8.4 service on Local Computer started and then stopped. Some services stop automatically if they have no work to do, for example, the Performance Logs and Alerts service.
Nun, da steht keine Fehlermeldung, warum PG nicht startet. Die Meldung von Windows ist irgendwie - nichtssagend.
Also, wenn du das auskommentierst, funktioniert es.
Schön, dann zeig doch mal, was genau du auskommentiert hast.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Ich habe hier was gefunden:Code:#checkpoint_segements = 16MB
Pgsql 8.4 on Vista starts and stops automatically. - PostgreSQL Database answers
Löst aber mein Problem auch nicht.
mfg
Marcus
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen