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

Получаване на размера на lobject в PostgreSQL

Тази функция беше достатъчно ефективна за мен, може да искате да я изпробвате с вашите данни:

CREATE OR REPLACE FUNCTION lo_size(oid) RETURNS integer 
AS $$ 
declare 
 fd integer; 
 sz integer; 
begin 
 fd = lo_open($1, 262144);
 if (fd<0) then
   raise exception 'Failed to open large object %', $1;
 end if;
 sz=lo_lseek(fd,0,2);
 if (lo_close(fd)!=0) then
   raise exception 'Failed to close large object %', $1;
 end if;
 return sz;
end; 
$$ LANGUAGE 'plpgsql'; 

Друга опция е select sum(length(data)) from pg_largeobject where loid=the_oid но изисква достъп за четене до pg_largeobject, който според мен е потиснат в pg 9.0+ за не-суперпотребители




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql тригер при влизане на потребител

  2. heroku, postgreSQL, django, comments, tastypie:Никой оператор не отговаря на даденото име и тип(ове) на аргумента. Може да се наложи да добавите изрични прехвърляния на типа

  3. Как да получите списъка с функции в базата данни в PostgreSQL заедно с нейните параметри?

  4. Вземете само последните данни от миналата седмица и сумирайте няколко колони

  5. Динамично генериране на колони в PostgreSQL