John Fawcett via Postfix-users:
> The postgresql C library has two different functions for connecting to
> the database, one based on the url type syntax and one based on explicit
> parameters. When deciding which function to call, Postfix checks whether
> the hosts parameter starts with postgresql. In your original
> configuration I guess this was the case, but from the error message, I
> doubt whether that is still the case.
>
> If you go back to the postgresql:// syntax hopefully you will solve the
> problem.
This was changed in Postfix 3.10. With Postfix 3.3-3.9 the TYPECONNSTR
value below means the name starts with "postgresql:", while in
Postfix 3.10 it means that the name contains ANY valid URI scheme.
static void plpgsql_connect_single(DICT_PGSQL *dict_pgsql, HOST *host)
{
if (host->type == TYPECONNSTR) {
host->db = PQconnectdb(host->name);
} else {
host->db = PQsetdbLogin(host->name, host->port, NULL, NULL,
dict_pgsql->dbname, dict_pgsql->username,
dict_pgsql->password);
if (host->db == NULL || PQstatus(host->db) != CONNECTION_OK) {
msg_warn("connect to pgsql server %s: %s",
host->hostname, PQerrorMessage(host->db));
Wietse
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]