Dealing with BLOBs in Postgres?
Greyfox asks: "I've got a question and it's been bugging me for a while. I'm trying to do some database programming with Java and PostgresSQL. I've got an array of bytes I'd like to store in the database and I can't quite figure out how to do it. I've tried the method suggested in their old documentation (Which involves doing some JDBC thing with a FileInputStream) and some esoteric BLOB thing involving ResultSet.setBytes() and a more esoteric BLOB thing involving their LargeObjectManager and when I'm at my most successful I get error messages back griping about unexpected EOFs from the connection manager or somesuch. The documentation, example code and web searches have all been profoundly unhelpful. Am I going about this the right way and if I am, what am I missing?"
Large object documentation
Or you can use bytea or TEXT like I do.
-Dave
Let's not stir that bag of worms...
When I have a problem of such type and I cannot solve it myself I usually find relevant maillist and ask where. If problem is not very hard chances are that it will be answered in minutes.
I just don't get why editors pass such submissions and people submit them. It just doesn't make any sense. If you post in PostgreSQL maillist chances that in the future another person with same problem will find solution in its archives. But who in good state of mind will search for solution of PostgreSQL very specific problem on Slashdot? On the other side I'm sure that submitter of this query will have to wait longer for reply which could solve his problems (probably forever).
--
Ilya Martynov (http://martynov.org/)
A BLOB is type oid in Postgres. I'm using type oid for the field I want to store the byte array in. At least, that's what all the documentation I've been able to scare up has said to do...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
One possible solution I came up with was to UUEncode the data, then store it in a text field.
I never actually implemented this, but it should be fairly easy to do (either outside the DB or using a Postgres user-defined function.
The existing BLOB support is documented briefly Here, but quite honestly it... well sucks.
/~mikeg
You should have a look at the PostgreSQL JDBC documentation, which can be found at http://jdbc.postgresql.org. While you're at it, also search for BYTEA in the PGSQL JDBC mailingslist.