PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Warum wird bei einer Abfrage das Zeitlimit überschritten, wenn sie innerhalb des Zeitlimits liegt?

Es ist ein Fehler in Npgsql. Ich habe es gerade verifiziert. Es wurde behoben am 01.03 , aber seitdem gab es keine stabile Version. So wie es derzeit aussieht, müssen Sie aus aktuellen Quellen bauen, um dies zu umgehen.

Es wird durch eine Kombination aus der Tatsache verursacht, dass Socket.Poll() ein Int32-Mikrosekunden-Argument akzeptiert, und durch einen scheinbaren Fehler in Socket.Poll() selbst.

Zunächst werden 2 Stunden in -1.389.934.592 Mikrosekunden (7200 Sekunden * 1.000.000) umgewandelt, deren absoluter Wert etwa 48 Minuten beträgt.

Zweitens der Socket.Poll()-Dokumentation Zustände:

Stattdessen scheint es in den absoluten Wert umgerechnet zu werden, etwa 48 Minuten, also gibt es Ihre seltsame, aber vorhersehbare Zeitüberschreitung.