No te marca error por qué usas @ delante de las funciones que podrían probocar algún mensaje de error (pese que uses error_reporting(E_ALL) .. ese @ desactiva los errores de esa función particular donde lo apliques).
Empieza por quitar los @ (sobre todo cuando estés en fase de desarrollo de una aplicación no los uses .. cuando veas que todo funciona OK si quieres se los pones).
A su vez .. PostGreSQL como toda BD tiene funciones (desde PHP) para obtener los mensajes/codigo de error si fuese este de SQL o de la conexión en sí .. para ello puedes usar funciones como:
Código PHP:
$result =pg_query($conexion,"select * from problema" ) or die(pg_last_error())
La función pg_last_error() te informará de errores de ese tipo .. La puedes usar también en la función pg_connect() bajo la misma estructura del or die() ...
Cuando veas el error .. ahí podrás ver la solución .. pero lo principal es verlos y para eso no tienes que desactivarlos!.
Un saludo,