Wenn sie da sind; Sie sind da, aber sie sind nicht auf magische Weise aus der Luft gesprungen. Ich würde mich freuen, wenn Sie zurückkommen und uns sagen, was sie in Ihrem Fall waren. Normalerweise ist dies eines von zwei Dingen:
- Verbindungspooling
- ORM- oder SQL-Abstraktion
Manchmal verbinden sich diese Leute und starten leere Transaktionen oder bereiten eine Transaktion vor. Es ist immer das Ergebnis einer schlechten Bibliothek. Es ist entschuldbar, wenn die Bibliothek neu oder neu in der Datenbank ist. Wenn die Bibliothek Jahre alt ist und dies tut, würde ich vermuten, dass sie nicht zu viele Augen darauf haben und nach Alternativen suchen.
Aus den Kommentaren,
Postgres stellt keine eigenen Verbindungen her. Es ist Ihre Anwendung, die diese Verbindungen erstellt und diese Abfragen ausführt. Möglicherweise ein Verbindungspool oder ähnliches. - a_horse_with_no_name 10. September 13 um 9:03
Führen Sie eine Java-Anwendung aus? Verwenden Sie HikariCP oder eine andere Option zum Verbinden von Verbindungen? Ich verwende HikariCP und sehe etwas Ähnliches, wenn ich mich bei psql anmelde und eine Abfrage aus pg_stat_activity auswähle. Ich habe mich auch gefragt, warum dies geschieht. Ich vermute, dies ist ein Mechanismus, mit dem HikariCP die Verbindungen "frisch" hält. - Chris W. 16. Januar 16 um 19:22 Uhr
Während es möglich ist, ist es ein Versuch, eine Verbindung "frisch" zu halten. Die koschere Art, dies zu tun, ist ungefähr so
result = PQexec(imp_dbh->conn, "/* DBD::Pg ping test v3.6.0 */");
Möglicherweise möchten Sie einen Fehlerbericht einreichen, um stattdessen diese Methode zu verwenden.