On Mon, Jun 10, 2019 at 8:32 PM Rob Sargent <robjsarg...@gmail.com> wrote:

> > On Jun 10, 2019, at 6:40 AM, Igor Korot <ikoro...@gmail.com> wrote:
> >
> > Hi, Adrian,
> >
> >> On Mon, Jun 10, 2019 at 7:03 PM Adrian Klaver <
> adrian.kla...@aklaver.com> wrote:
> >>
> >>> On 6/10/19 9:30 AM, Igor Korot wrote:
> >>>
> >>> According to
> https://stackoverflow.com/questions/16048649/postgresql-9-x-pg-read-binary-file-inserting-files-into-bytea
> ,
> >>> the file needs to be on the server inside PGDATA directory.
> >>> It is not a problem in general, but just curious - is there a more
> >>> generic solution (to get the file from the client)?
> >>
> >> This would depend on what is is you are trying to accomplish:
> >>
> >> 1) Are you really wanting to insert a file at a time at the psql command
> >> line?
> >
> > Yes.
> Gnarly. I suppose you could open the pdf in emacs and tell emacs to  NOT
> render it. Cut the entire buffer and paste it, properly quoted, into your
> psql command line. But \lo stuff seems much more likely to work.
>
>
This is what I've used for text:

    \set file_content `cat './file.txt'`
    SELECT:'file_content';

For smallish files I'd probably just stick with the same theme but encode
the binary data as Base64 and then decode it into the bytea field.

For not-so-small files probably better off storing the content elsewhere
and inserting location data into the database.

I have not yet had the desire to incorporate the large object API into my
designs.

David J.

Reply via email to