Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Timeout-Zeit bei Lock

  1. #11
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von bluesilisk Beitrag anzeigen
    All zu viel möchte/kann/darf ich dazu nicht sagen, nur so viel: ein Server startet bei eingehenden Modem-Verbinungen COM-Services, die die Daten abholen und in die DB schreiben. Da Modem nun mal langsam ist und viele Daten gesendet werden, dauert die Übertragung schon mal ein paar Minuten. So eine Modem-Verbindung (z. B. aus dem Ausland) ist auch heute noch recht teuer,
    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...

    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.
    Um mal ernst zu bleiben: die Daten erst mal ablegen und dann in einem rutsch in die DB spielen wäre keine Option?

    Ansonsten: es gibt noch statement_timeout.

    Session1
    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
    Session 2:
    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
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  2. #12
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    Zitat Zitat von bluesilisk Beitrag anzeigen
    Ich hätte halt gern (analog zum Ifx) die Möglichkeit, dem SQL-Statement (bzw. wie bei Ifx der ganzen Connection) mitgeben zu können, wie lange es maximal warten soll, um dann mit einem Fehlercode "Timeout" zurück zu kommen.
    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?'

  3. #13
    bluesilisk ist offline Neuer Benutzer
    Registriert seit
    01.11.2011
    Beiträge
    7

    Standard

    @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 .

  4. #14
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    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

  5. #15
    bluesilisk ist offline Neuer Benutzer
    Registriert seit
    01.11.2011
    Beiträge
    7

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    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 ;-)
    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* !

  6. #16
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    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

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. PgAdmin stürzt ab bei Timeout (Ubuntu)
    Von Thomas_M im Forum PGAdmin
    Antworten: 4
    Letzter Beitrag: 30.01.2010, 18:59
  2. TimeOut der Verbindung
    Von davidy im Forum PGAdmin
    Antworten: 4
    Letzter Beitrag: 09.10.2009, 13:17
  3. Unable to insert lock record
    Von palzwoi im Forum Konfiguration
    Antworten: 3
    Letzter Beitrag: 04.10.2007, 17:46
  4. Transaction Timeout
    Von johanna im Forum Programmierung
    Antworten: 1
    Letzter Beitrag: 11.07.2007, 13:01
  5. connection timeout ?
    Von sladda im Forum Allgemeines
    Antworten: 3
    Letzter Beitrag: 19.06.2007, 08:36

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum