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.