PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Преобразувайте колона bytea в OID, като запазвате стойностите

Колона от тип Oid е просто препратка към двоичното съдържание, което всъщност се съхранява в pg_largeobject на системата маса. По отношение на съхранението, Oid е цяло число от 4 байта. От друга страна, колона от тип bytea е действителното съдържание.

За да прехвърлите байт в голям обект, трябва да се създаде нов голям обект с подобен на файл API на големи обекти:lo_create(), за да получите нов OID, след това lo_open() в режим на запис, след това записва с lo_write() или lowrite() и след това lo_close().

Това не може разумно да се направи само с отливка.

По принцип ще трябва да напишете ~10 реда код на избрания от вас език (поне такъв, който поддържа API за големи обекти, включително plpgsql), за да направите това преобразуване.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. maven стартира postgres сървър

  2. Промяна на езика на системата и съобщенията за грешки в PostgreSQL

  3. Конструиране на низ от няколко записа с 2 колони

  4. Как да изпратите JSON обект към вложен масив в JSONB колона

  5. Странно поведение в Postgresql