Bin mir nicht sicher, ob es ganz genau das ist was Du brauchst, aber versuch es doch mal mit dem "allgemeine" statement_timeout:
http://www.postgresql.org/docs/9.1/s...TEMENT-TIMEOUT
Der Reiz, hier mal laut zu lachen, ist recht hoch ;-)
Ernsthaft: sollte man nicht da mal ansetzen? Es gibt Provider, die bieten managed PostgreSQL-Server und haben fette Anbindung im mehrstelligen GBit-Bereich. Mal so als Hinweis...
Um mal ernst zu bleiben: die Daten erst mal ablegen und dann in einem rutsch in die DB spielen wäre keine Option?also soll die zweite Verbindung nicht ewig warten, sondern nach ein paar Sekunden abbrechen und dem "Anrufer" sagen, er soll es später noch einmal probieren. Bei der Informix-Variante wurde das mit dem SET LOCK MODE realisert, und meine Hoffnung war ganz einfach, für Postgres ein Pendent zu finden. Am Quellcode der Services kann ich selber nämlich gar nicht so viel machen.
Ansonsten: es gibt noch statement_timeout.
Session1
Session 2:Code:test=*# select * from foo for update; i | t ---+---------------- 1 | eins 2 | eins,zwei,drei 3 | drei 4 | drei,vier (4 rows) Time: 0,305 ms
Code:test=# set statement_timeout to 1000; SET test=*# \timing Timing is on. test=*# update foo set t=t || 'new'; ERROR: canceling statement due to statement timeout test=!# rollback; ROLLBACK
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Bin mir nicht sicher, ob es ganz genau das ist was Du brauchst, aber versuch es doch mal mit dem "allgemeine" statement_timeout:
http://www.postgresql.org/docs/9.1/s...TEMENT-TIMEOUT
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
@akretschmer: Zum Lachen ist es eigentlich nicht, sondern eher zum Heulen, aber was soll ich machen, an den Services kann ich nicht drehen, die sind in Stein gemeißelt.
Der Tipp mit dem statement_timeout scheint aber die Lösung zu sein, das werde ich ausprobieren. Vielen Dank schon mal für den Hinweis. Das Ding ist mir beim Durchsuchen der 2500 Seiten Postgres-Doku gar nicht aufgefallen.
Da wollt ich nun auch auf "statement_timeout" hinweisen, aber die beiden anderen waren schneller.
Aber sag mal: in Stein gemeißelt ist bis auf die 10 Gebote von Moses gar nichts.
Und selbst da hat man die originalen Quellen noch nicht gefunden.
Überleg dir, wie lange du so ein überaltetes System supporten willst, oder ob es nicht an der Zeit ist, da mal über Auswege aus dem Dilemma nachzudenken.
Selbst "statement_timeout" liefert eine Fehlermeldung zurück, wenn das eine Anfrage abbricht. Du musst also deinen Code umschreiben und darauf entsprechend reagieren.
Ist also jetzt schon Anpassungsarbeit notwendig. Jetzt ist also ein guter Zeitpunkt, das mal richtig zu machen: Zukunftstechnologien, Internet, und so ;-)
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
Im Gegenteil, das Schöne an dieser Lösung ist ja - und deswegen habe ich danach gefragt - dass ich nun doch den alten Ifx-Code nehmen kann und erst einmal gar nichts umbauen muss. Die Ifx-Variante fängt ja genau diesen Timeout-Fehler bereits ab, also hält sich der Aufwand für mich in Grenzen. Das Zeug ist schon in Stein gemeißelt, denn an sich wird es nicht mehr weiterentwickelt. Die neuen Maschinen haben alle schon Internet, aber die (ca. 1000) weltweit verteilten Teile eben noch nicht, und die sollen noch ein paar Jährchen laufen. Die Datenbanken werden aber jetzt schon auf PG umgestellt, also muss der alte "Read-Only-Code" nun auch diese Syntax verstehen. Es sollen aber, um Aufwand und Kosten zu minimieren und die Kompatibilität mit der bisherigen Software zu garantieren, nur die SQL-Statements angefasst werden. Das könnte mit dem statement_timeout tatsächlich klappen. Ihr seid die Ersten, die erfahren, wenn es nicht funktioniert *g* !
Das fürchte ich ;-)
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
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen