Re: Timing of notice delivery
От | Tom Lane |
---|---|
Тема | Re: Timing of notice delivery |
Дата | |
Msg-id | 6364.1296606710@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Timing of notice delivery ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>) |
Список | pgsql-jdbc |
"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes: > In other words, all on one thread, all on one connection: > -- setup > Execute LISTEN on the connection. > conn.setAutoCommit(false); > -- each transaction > execute statements which fire triggers which NOTIFY. > conn.commit(); > conn.getNotifications(); > Can I count on all notifications triggered during a transaction > being delivered in the last step? The backend will deliver all such notifies after returning the COMMIT's command-complete response message, but before it delivers ReadyForQuery. If JDBC waits for ReadyForQuery before believing the operation is complete, you should see them reliably. I believe that the situation for incoming notifies from other sessions is a bit less predictable, though --- it looks like those can get sent *after* ReadyForQuery, even if they arrived beforehand. regards, tom lane
В списке pgsql-jdbc по дате отправления: