Kolumna typu Oid jest tylko odniesieniem do zawartości binarnej, która jest faktycznie przechowywana w pg_largeobject systemu stół. Jeśli chodzi o przechowywanie, Oid jest 4-bajtową liczbą całkowitą. Z drugiej strony kolumna typu bytea jest rzeczywista zawartość.
Aby przesłać bajt do dużego obiektu, należy utworzyć nowy duży obiekt za pomocą podobnego do pliku API dużych obiektów:lo_create(), aby uzyskać nowy OID, następnie lo_open() w trybie zapisu, a następnie pisze za pomocą lo_write() lub lowrite(), a następnie lo_close().
Nie można tego rozsądnie zrobić za pomocą tylko obsady.
Zasadniczo, aby wykonać tę konwersję, musiałbyś napisać około 10 wierszy kodu w wybranym języku (przynajmniej takim, który obsługuje API dużych obiektów, w tym plpgsql).