Problem z Postfixem i Postgresql

Paweł Muszyński pmuch w zamek.szczecin.pl
Pon, 3 Gru 2007, 07:59:20 CET


Na samym początku chciałbym sie przywitać, to mój debiut na pld-devel-pl.

Ostatnio wziąłem się za aktualizację postfixa i postgresql w AC (był 
stary Postgresql 8.1 i postfix 2.1, aliasy trzymane w bazie postgres).
Po uprgradzie zonk - postfix nie może połączyć się z bazą, w logach ląduje:
warning: dict_pgsql: cannot set the encoding to LATIN1, skipping localhost


Za ten komunikat odpowiedzialny jest następujący kawałek kodu w 
dict_pgsql.c:

     /*
      * XXX Postfix does not send multi-byte characters. The following
      * piece of code is an explicit statement of this fact, and the
      * database server should not accept multi-byte information after
      * this point.
      */
     if (PQsetClientEncoding(host->db, "LATIN1") != 0) {
         msg_warn("dict_pgsql: cannot set the encoding to LATIN1, 
skipping %s",
                  host->hostname);
         plpgsql_down_host(host);
         return;
     }

W sumie nic dziwnego - baza jest w LATIN2, a Postgresql nie obsługuje 
automatycznej translacji LATIN2 -> LATIN1.

Rozwiązałem problem przez zmianę LATIN1 -> LATIN2 w tym kawałku kodu, 
google w sumie nic na ten temat nie mówi, znalazłem tylko jedną 
informacje - o zakomentowaniu tego fragmentu kodu.

-- 

Paweł Muszyński



Więcej informacji o liście dyskusyjnej pld-devel-pl