PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mendapatkan ukuran lob di PostgreSQL

Fungsi ini sudah cukup efisien bagi saya, Anda mungkin ingin mencobanya dengan data Anda:

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'; 

Pilihan lain adalah select sum(length(data)) from pg_largeobject where loid=the_oid tetapi memerlukan akses baca ke pg_largeobject yang menurut saya telah disembunyikan di pg 9.0+ untuk non-pengguna super




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL/Python &postgreSQL:Apa cara terbaik untuk mengembalikan tabel dengan banyak kolom?

  2. Apa yang terjadi dengan NpgsqlCopySerialize dan NpgsqlCopyIn

  3. Cara memesan data di sqlalchemy dengan daftar

  4. Bagaimana tidak membangun ekstensi PostgreSQL 9.0 pada platform RPM

  5. strapi database.js / beberapa konfigurasi database