in reply to Difficulty inserting a large object using DBD::Pg

I think I am lost on what you are trying to do. As I understand it, there is the OID which PostgreSQL automatically assigns to each row; and the OID type which you can assign to a column. But the OID you create yourself does not act like an OID, it's just an integer that is supposed to hold OID numbers from another table.