John Wells wrote:
Guys,
I have a number of jpegs and tiffs that are stored in a bytea field in a
PostgreSQL database by a Java program using Hibernate.
I need to copy these out to a flat file via pgsql for viewing, etc. I've
tried
psql -c 'select binarydata_field from my_image_table where id=1' mydb >
flatfile
but although that seems to provide the data it does not seem to pull it in
a valid image format. Is there some special handling I need to do here?
Thanks!
John
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your
message can get through to the mailing list cleanly
You have on the flatfile info about the query
let's say
leonel=> select count (*) from image;
count
-------
1
(1 row)
you got fieldname, -------, the image and ( 1 row ) on the
flatfile file
you need to make a script to put the image on that flatfile
just read it as any query and put the contents of that field on the file
I use this little Perl Script
#!/usr/bin/perl
use strict;
use DBI qw (:sql_types);
use DBD::Pg qw ( :pg_types);
my $dbh = DBI->connect ( 'DBI:Pg:dbname=mydb;' , 'myuser','mypass');
my $sth=$dbh->prepare ("select image from image where id=1");
$sth->execute();
my @row = $sth->fetchrow_array ;
open ( OUT, ">imagefile.png");
print OUT $row[0];
close (OUT);
and that get me imagefile.png
I hope this helps
Leonel
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match