There's a whole set of pg_lo functions, but honestly, the large objects were a work around introduced primarily to get around the old 8k row limit, which has been gone for quite some time.
I just base64 encode it, escape it (Addslashes) and then store it in a text field. While there's some overhead to doing this, postgresql automagically compresses text fields to save space, so there's no loss of space for using base64 encoding.