Coba ini:
$result = pg_prepare($conn, "city_delete",
'DELETE FROM lab5.city WHERE lab5.city.id = $1');
Tanda kutip ganda yang Anda gunakan membuat $1 menjadi variabel PHP, bukan string.
Lihat contoh untuk pg_prepare di sini:http://php.net/manual/ en/function.pg-prepare.php