Re: Insert binary file into bytea where PG server does not have access to the file ? - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Insert binary file into bytea where PG server does not have access to the file ?
Date
Msg-id 58ae5076-2faa-db4a-2919-9d2ffc650fdd@aklaver.com
Whole thread Raw
In response to Insert binary file into bytea where PG server does not have access to the file ?  (David Gauthier <davegauthierpg@gmail.com>)
List pgsql-general
On 12/3/21 12:13, David Gauthier wrote:
> 11.5 on linux
> 
> Big corp with an IT dept providing us with PG DBs running in instances 
> on their servers. (We/I amd not DBA).    We on the client side, the 
> "users" of these DBs, want to load binary files into bytea type 
> columns.  But the files we want to load are on disks that the server 
> does not have access to.
> 
> I googled around for a solution.  This failed...
> 
> insert into test_bytea (id,data) values 
> (1,pg_read_binary_file('/top/next.whatever/xyz.bin')::bytea);
> 
> ERROR:  could not stat file "/top/next.whatever/xyz.bin": No such file 
> or directory
> 
> Understandable because the server hasn't even mounted /top.
> 
> Is there a way to do what I want from the client side ?

Are you using some client side language(Java, Python, etc) library?

They generally have a way to deal with this:

Python via psycopg2:

https://www.psycopg.org/docs/usage.html#adapt-binary

Java via JDBC:

https://jdbc.postgresql.org/documentation/head/binary-data.html

> If the file is transformed into some titanic string on the client side, 
> then passed along over the net to the server in the insert statement, is 
> there a max string length that I need to worry about ?
> 
> Thanks


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: Daniel Frey
Date:
Subject: Re: libpq: Which functions may hang due to network issues?
Next
From: Adrian Klaver
Date:
Subject: Re: Insert binary file into bytea where PG server does not have access to the file ?