Pues si te fijas en el Manual oficial de PHP (si, el mismo que te insisto siempre) ..
La función pg_fetch_object() y en general todas las ???_fetch_???() devuelven FALSE cuando llegan al final de la lectura de los registros que arroje con ???_query() ... (y eso lo hacen por qué internamente mueven el puntero de la consulta una posición hacia adelante al ejecutarse la función __fetch_ ... O lo hace automático o se le ha de pasar el "row" como es el caso de PosgreSQL versiones inferiores de PHP a 4.1.0 ..)
Es más .. si te fijas (otra vez en la sintax) .. veras que el segundo parámetro: ese contador de $row .. Es [Opcional] (por lo menos según dice desde PHP 4.1.0 en adelante)
http://www.php.net/manual/en/functio...tch-object.php
Así que prueba tu pg_fetch_object($result) simplemente y olvidate de ese contador $row++ .. (por supuesto si usas PHP versión 4.1.0 en adelante)
Un saludo,