# pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_seek — Seeks position within a large object

### Description

pg_lo_seek ( resource `$large_object` , int `$offset` [, int `$whence` = PGSQL_SEEK_CUR ] ) : bool

pg_lo_seek() seeks a position within a large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

### Parameters

`large_object`

  PostgreSQL large object (LOB) resource, returned by pg_lo_open().

`offset`

  The number of bytes to seek.

`whence`

  One of the constants `PGSQL_SEEK_SET` (seek from object start), `PGSQL_SEEK_CUR` (seek from current position) or `PGSQL_SEEK_END` (seek from object end) .

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Examples

Example #1 pg_lo_seek() example

`<?php
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Skip first 50000 bytes
pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
// Read the next 10000 bytes
$data = pg_lo_read($handle, 10000);
pg_query($database, "commit");
echo $data;
?>`

### Changelog

Version | Description
--- | ---
5.6.0 | Added PostgreSQL 9.3's 64bit large object support. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.

### See Also

- pg_lo_tell() - Returns current seek position a of large object