Function to take a large object size:
<?php
function pg_lo_size ($lo) {
  $pos = pg_lo_tell ($lo);
  pg_lo_seek ($lo, 0, PGSQL_SEEK_END);
  $size = pg_lo_tell ($lo);
  pg_lo_seek ($lo, $pos, PGSQL_SEEK_SET);
  return $size;
}
?>(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_tell — Возвращает текущее положение внутреннего указателя большого объекта
pg_lo_tell() возвращает текущую позицию (отступ от начала) внутреннего указателя большого объекта.
Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.
Текущая позиция внутреннего указателя (количество байт от начала) большого объекта. В случае возникновения ошибки функция вернёт отрицательное значение.
| Версия | Описание | 
|---|---|
| 8.1.0 | Параметр lobтеперь ожидает экземпляр класса
  PgSql\Lob; раньше параметр ожидал ресурс (resource). | 
Пример #1 Пример использования pg_lo_tell()
<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Пропустить первые 50000 байт
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Проверим, на сколько мы отступили
   $offset = pg_lo_tell($handle);
   echo "Текущее положение внутреннего указателя: $offset";
   pg_query($database, "commit");
?>Результат выполнения приведённого примера:
Текущее положение внутреннего указателя: 50000
