Ok: a little lame to answer my own question, but I created a CRUDE patch.
It does NOT check why a connection failed, it just does a PQreset, and it
SEEMS to work.
Kind regards,
Maikel Verheijen.
Ps: Timo, can something with reconnect be implemented permanently?
--8<--
--- src/auth/db-pgsql.c.ORIG Tue May 27 10:06:39 2003
+++ src/auth/db-pgsql.c Tue May 27 11:16:38 2003
@@ -53,9 +53,16 @@
res = PQexec(conn->pg, query);
if (PQresultStatus(res) != PGRES_TUPLES_OK) {
- i_error("PGSQL: Query \"%s\" failed: %s",
- query, PQresultErrorMessage(res));
- failed = TRUE;
+ PQreset(conn->pg);
+ res = PQexec(conn->pg, query);
+ if (PQresultStatus(res) != PGRES_TUPLES_OK) {
+ i_error("PGSQL: Query \"%s\" failed:
%s",
+ query, PQresultErrorMessage(res));
+ failed = TRUE;
+ } else {
+ i_error("PGSQL: Reconnected because of
failure!");
+ failed = FALSE;
+ }
} else {
failed = FALSE;
}
--8<--
-----Original Message-----
From: Maikel Verheijen [mailto:maikel at ladot.com]
Sent: Tuesday, May 27, 2003 9:43 AM
To: 'Dovecot (E-mail)'
Subject: [Dovecot] Postgres "issue"
Dear list,
I have a small issue with dovecot talking to a postgresql server:
If my postgres server get restarted, dovecot fails to reconnect to the
postgres server.
I run dovecot 0.99.9.1 (which is actually a cvs version of dovecot, of may 9
2003)
I have the same postgres version for the server as I use for the libraries.
Is it hard to get auto-reconnect to work?
Kind regards,
Maikel Verheijen
Ps: the log message I get is this:
May 22 17:33:01 testlfw3 dovecot-auth: PGSQL: Query "SELECT password FROM
aliases WHERE alias = 'maikel at test.com' AND password !=
''" failed: FATAL 1:
This connection has been terminated by the administrator. server closed the
connection unexpectedly ^IThis probably means the server terminated
abnormally ^Ibefore or while processing the request.
Which probably describes it all :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://dovecot.org/pipermail/dovecot/attachments/20030527/6485eab2/attachment-0001.html>