Друг начин, който не изисква персонализирана функция, е да използвате loread(lo_open(...)) комбинация, като:
UPDATE user SET pkcs_as_bytea = loread(lo_open(pkcs12_as_oid, 262144), 1000000) WHERE thistable.pkcs12 IS NOT NULL
Има проблем с този код, loread функцията изисква като втори параметър максималния брой байтове за четене (1000000 параметър, който използвах по-горе), така че трябва да използвате наистина голямо число тук, ако данните ви са големи. В противен случай съдържанието ще бъде съкратено след толкова байта и няма да получите всички данни обратно в bytea поле.
Ако искате да преобразувате от OID в текстово поле, трябва също да използвате функция за преобразуване, както в:
UPDATE user SET pkcs_as_text = convert_from(loread(lo_open(pkcs12_as_oid, 262144), 1000000), 'UTF8')
(262144 е флаг за отворен режим, 40000 в hexa, което означава "отворено само за четене")