PrevChapter 45. pgtclNext


The pg_lo* routines are interfaces to the Inversion Large Objects in Postgres. The functions are designed to mimic the analogous file system functions in the standard Unix file system interface.

Table 45-1. PGTCL Commands

pg_connectopens a connection to the backend server
pg_disconnectcloses a connection
pg_execsend a query to the backend
pg_selectloop over the result of a select statement
pg_resultmanipulate the results of a query
pg_lo_creatcreate a large object
pg_lo_openopen a large object
pg_lo_closeclose a large object
pg_lo_readread a large object
pg_lo_writewrite a large object
pg_lo_lseekseek to a position on a large object
pg_lo_tellreturn the current seek position of a large object
pg_lo_unlinkdelete a large object
pg_lo_importimport a Unix file into a large object
pg_lo_exportexport a large object into a Unix file

Some commands equivalent to libpq commands are provided for connection and query operations.

The pg_lo* routines should typically be used within a BEGIN/END transaction block because the file descriptor returned by pg_lo_open is only valid for the current transaction. pg_lo_import and pg_lo_export MUST be used in a BEGIN/END transaction block.