2009-02-04 8 views
8

In postgresql eine Abfrage in der querylog so etwas wie dies bekommt:Wie eine Abfrage in Postgres auf „namen“

2009-02-05 00:12:27 CET LOG: duration: 3781.634 ms execute <unnamed>: SELECT QUERY .... 

Gibt es eine Möglichkeit, etwas mehr verwendbar in dem setzen „< unnamed>“ wie die platziert URL, von der die Abfrage angefordert wurde?

Gibt es andere Möglichkeiten, den Ursprung einer Abfrage in Postgresql mit jdbc aus Java zu verfolgen?

Dank

Antwort

5

Kurze Antwort ist „nein“

Der Name festgelegt werden kann, wenn die Anweisung vorbereitet, den PREPARE Befehl, aber das erfordert alle Ihre SQL neu zu schreiben. Es gibt keine Option, einfach einen Namensparameter zu Ihren JDBC-Methoden hinzuzufügen.

Der JDBC-Treiber verwendet sowohl benannte als auch unbenannte vorbereitete Anweisungen. Es wird ihnen einen Namen geben, wenn sie sie wiederverwenden wollen, was es für angemessen hält, wenn dasselbe PreparedStatement-Objekt 5 Mal ausgeführt wird (obwohl dies durch Einstellen des prepareThreshold konfigurierbar ist).

Dokumentation ist here

Weitere Informationen können auch durch die Suche im PostgreSQL JDBC mailling list

finden
Verwandte Themen