Postgres: SELECTing bytea data partially with offset and length I have a table containing a bytea column, with an average entry size of 5MB. Is it possible to query from random points in the bytea data (given an offset and length of data required) instead of SELECTing the whole byte string into the memory?
Of course, just use the substring function:

select substring(bytea_contents from offset for length) FROM table;


or get_byte(bytea_contents,offset) to get a single byte as an integer.

See Binary String Functions and Operators in the doc for all functions.