[!!!] :-/ Cześć
(temat:Delphi/bazy danych)

Zakładamy taką sytuację:
Program połączył się poprawnie z bazą danych na serwerze postgresql. Jednak podczas pracy programu wystąpił problem z serwerem, z siecią, administrator serwera 'zabił' proces lub inne zdarzenie, uniemożliwiające poprawną komunikację pomiędzy programem klienckim a serwerem (połączenie zostało zerwane po stronie serwera).
W jaki sposób mogę sprawdzić poprawność połączenia przed wysłaniem zapytania na serwer? Innymi słowy, jak mogę monitorować status połączenia pomiędzy programem klienckim a serwerem bazodanowym (w czasie rzeczywistym np: w oddzielnym wątku, nie obciążając serwera dodatkowymi zapytaniami kontrolnymi) i odpowiednio reagować na zmiany tego statusu?
Czy podczas pracy serwera lub jego zamknięcia czy awarii są wysyłane jakieś komunikaty do aktywnych klientów, jeżeli tak to jakie i w jaki sposób można je odczytać w programie klienckim.

Pracuję na: Borland Developer Studio 2006, projekt: Delphi for Microsoft Win32.
Do pracy z serwerem używam zestawu kontrolek:PostgresDAC (TPSQLDatabase).
Serwer Postgresql w wersji 8.1.
Program kliencki i serwer pracują w sieci lokalnej.

Proszę o sugestie i rady, z góry dziękuję za wszystkie!
Pozdrawiam
Tomek