$new_id non contiene l'id ma è un descrittore di risorse. Devi recuperare i dati da esso poiché la query sarebbe una SELECT, con pg_fetch_array($new_id) per esempio.
Il RETURNING la clausola di PostgreSQL proietta qualsiasi campo delle righe inserite o modificate, ad esempio INSERT|UPDATE … RETURNING id, field1, field2 .