Por que pg_user almacena unicamente caracteres ******.
http://www.postgresql.org/docs/9.1/s...w-pg-user.html
El almacenamiento como tal se almacena en una tabla llamada pg_authid
http://www.postgresql.org/docs/9.1/s...pg-authid.html
En el link dan detalles exactos de la forma como se encriptan las contraseñas. Desde php deberias aplicar esta misma tecnica para que compare correctamente.
Nunca lo he hecho pero me imagino que debe ser por ese lado.
saludos
PD: Ya le pido a un moderador que mueva el tema a postgresql.