Re: [GENERAL] Problem with lo_export() and lo_import() from remote machine.

From: "Marco Bizzarri" <marco(dot)bizzarri(at)gmail(dot)com>
To: "Purusothaman A" <purusothaman(dot)a(at)gmail(dot)com>
Cc: "Martijn van Oosterhout" <kleptog(at)svana(dot)org>, "Milen A(dot) Radev" <milen(at)radev(dot)net>, pgsql-admin(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Problem with lo_export() and lo_import() from remote machine.
Date: 2006-09-11 10:07:06
Message-ID: 3f0d61c40609110307k62ecfc58w93b4e82fb8d8019@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-general

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(dot)a(at)gmail(dot)com> 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(at)svana(dot)org> 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(at)svana(dot)org> 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(at)svana(dot)org> 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(at)svana(dot)org > 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/

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Purusothaman A 2006-09-11 10:15:26 Re: [GENERAL] Problem with lo_export() and lo_import() from remote machine.
Previous Message Martijn van Oosterhout 2006-09-11 10:03:36 Re: [GENERAL] Problem with lo_export() and lo_import() from remote machine.

Browse pgsql-general by date

  From Date Subject
Next Message Purusothaman A 2006-09-11 10:15:26 Re: [GENERAL] Problem with lo_export() and lo_import() from remote machine.
Previous Message Martijn van Oosterhout 2006-09-11 10:05:45 Re: Plan for outer joins