summaryrefslogtreecommitdiff
path: root/doc/doc-txt/NewStuff
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2007-08-23 10:16:51 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2007-08-23 10:16:51 +0000
commitb7670459b9549ad6dcca2398580165e54b09b92d (patch)
treea697ce1627742155665310463145ff9f0bda9edb /doc/doc-txt/NewStuff
parent48ed62d9a68c4e44c9fbaa6e300f88401bb32d65 (diff)
Add "server=" feature to MySQL and PostgreSQL lookups.
Diffstat (limited to 'doc/doc-txt/NewStuff')
-rw-r--r--doc/doc-txt/NewStuff34
1 files changed, 33 insertions, 1 deletions
diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff
index e3fddf3f7..f58687ddb 100644
--- a/doc/doc-txt/NewStuff
+++ b/doc/doc-txt/NewStuff
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.155 2007/08/22 10:10:23 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.156 2007/08/23 10:16:51 ph10 Exp $
New Features in Exim
--------------------
@@ -119,6 +119,38 @@ Version 4.68
"drop" verb in another ACL, it is the message from the other ACL that is
used.
+10. For MySQL and PostgreSQL lookups, it is now possible to specify a list of
+ servers with individual queries. This is done by starting the query with
+ "servers=x:y:z;", where each item in the list may take one of two forms:
+
+ (1) If it is just a host name, the appropriate global option (mysql_servers
+ or pgsql_servers) is searched for a host of the same name, and the
+ remaining parameters (database, user, password) are taken from there.
+
+ (2) If it contains any slashes, it is taken as a complete parameter set.
+
+ The list of servers is used in exactly the same was as the global list.
+ Once a connection to a server has happened and a query has been
+ successfully executed, processing of the lookup ceases.
+
+ This feature is intended for use in master/slave situations where updates
+ are occurring, and one wants to update a master rather than a slave. If the
+ masters are in the list for reading, you might have:
+
+ mysql_servers = slave1/db/name/pw:slave2/db/name/pw:master/db/name/pw
+
+ In an updating lookup, you could then write
+
+ ${lookup mysql{servers=master; UPDATE ...}
+
+ If, on the other hand, the master is not to be used for reading lookups:
+
+ pgsql_servers = slave1/db/name/pw:slave2/db/name/pw
+
+ you can still update the master by
+
+ ${lookup pgsql{servers=master/db/name/pw; UPDATE ...}
+
Version 4.67
------------