Actually, you can use direclty the lo_create, lo_open, lo_read and lo_write directly into your SQL code, instead of having to write a wrapper function. It is not simple, but it can be done. I don't have a general example: we have done this in a couple of our projects, one being public availabe (www.paflow.it): look in the Documents.py source, and look for the lo_xxx queries. This is indipendent from the fact that client and server are running on the same server. Regards Marco On 9/11/06, Purusothaman A <purusothaman.a@xxxxxxxxx> wrote:
Thanks Martijn van Oosterhout, So, I have to write my own wrapper function upon the functions below. 1. Oid lo_import(PGconn *conn, const char *filename); 2. int lo_export(PGconn *conn, Oid lobjId, const char *filename); Am I right? :) Purusothaman A On 9/11/06, Martijn van Oosterhout <kleptog@xxxxxxxxx> wrote: > Short answer, you can't. The database server can obviously only access things on the database server. Since SQL is also executed on the server, no SQL statements can access stuff on the client computer. If you want to load a file on the client side to the server, you need to open the file and copy it over using the lo_ functions. There no way (IIRC) to access the contents of large objects from just SQL. Hope this helps, On Mon, Sep 11, 2006 at 02:45:10PM +0530, Purusothaman A wrote: > Hi Martijn van Oosterhout, > > Thanks for your valuable reply. > > Yes I misunderstood the documentation. > > Then, I searched PostgreSQL documentation for equivalent client-side > functions. > But I found only C programming APIs instead of SQL functions. > > I want functions which is usable in SQL statements. > > Can you give example or equivalent client side function syntax? > > Thanks in advance. > > :) > Purusothaman A > > > > > On 9/9/06, Martijn van Oosterhout <kleptog@xxxxxxxxx> wrote: > > > >On Sat, Sep 09, 2006 at 05:19:26PM +0530, Purusothaman A wrote: > >> I usually log in to postgresql server with admin username. > >> > >> But whatever its, according to documentation, if client machine's user > >has > >> write access > >> permission, this query should successfully be executed. > > > >Read carefully, you are using the server-side functions, therefore: > > > >"These two functions read and write files in the server's file system, > >using the permissions of the database's owning user." > > > >What your client user is is irrelevent. Perhaps you actually want to > >use the client-side functions? > > > >Have a nice day, > >-- > >Martijn van Oosterhout <kleptog@xxxxxxxxx> http://svana.org/kleptog/ > >> From each according to his ability. To each according to his ability to > >litigate. > > > > > >-----BEGIN PGP SIGNATURE----- > >Version: GnuPG v1.4.1 (GNU/Linux) > > > >iD8DBQFFAq41IB7bNG8LQkwRAsptAKCDSWuRI5T+JMqpWEQt7r69kJE6CwCfVTOO > >mOqGDNQBTZZDs4WVf6NM+wQ= > >=kT4s > >-----END PGP SIGNATURE----- > > > > > > -- Martijn van Oosterhout <kleptog@xxxxxxxxx > http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFFBS6LIB7bNG8LQkwRAvI6AJ9OW7cxZiJR0QsEsSOwkYHKkYDZ6gCbBrDA GVPAoBeOhE+2toFa2zNbN3M= =9W8I -----END PGP SIGNATURE-----
-- Marco Bizzarri http://notenotturne.blogspot.com/