Een kolom van het type Oid is slechts een verwijzing naar de binaire inhoud die daadwerkelijk is opgeslagen in het pg_largeobject van het systeem tafel. In termen van opslag is een Oid een geheel getal van 4 bytes. Anderzijds is een kolom van het type bytea is de werkelijke inhoud.
Om een bytea naar een groot object over te zetten, moet een nieuw groot object worden gemaakt met de bestandsachtige API van grote objecten:lo_create() om een nieuwe OID te krijgen, dan lo_open() in de schrijfmodus, en dan schrijft met lo_write() of lowrite(), en dan lo_close().
Dit kan redelijkerwijs niet worden gedaan met slechts een cast.
In principe zou u een stuk code van ~10 regels moeten schrijven in de taal van uw keuze (ten minste één die de grote object-API ondersteunt, inclusief plpgsql) om deze conversie uit te voeren.