$new_id nie zawiera identyfikatora, ale jest deskryptorem zasobu. Musisz pobrać z niego dane, ponieważ zapytanie będzie SELECT, z pg_fetch_array($new_id) przykładem.
RETURNING klauzula projektów PostgreSQL dowolne pola wstawionych lub zmodyfikowanych wierszy tj. INSERT|UPDATE … RETURNING id, field1, field2 .