Buenos dias: 2016-04-17 6:48 GMT+02:00 José Fermín Francisco Ferreras <josefermi...@hotmail.com>: > Como puedo insertar una foto en una tabla en postgres mediante comando: > CREATE TABLE esquema.documento > ( > numero_documento serial NOT NULL, > fecha_documento date NOT NULL, > nombre_cliente integer NOT NULL, > foto_documento bytea NOT NULL, > ); > Me pregunto si se insertara de esta manera: > insert into esquema.documento(fecha_documento, nombre_cliente,foto) values > ('2016-04-17','Juan Perez','c:\foto.jpg');
Desde luego, asi no. Tienes que leer en el cliente la foto de alguna manera y ponersela en alguna sintaxis que se entienda, hay varias en el manual. El como depende sobre todo de que aplicacion estes usando para manejarla (p.e., si estas usando psql tienes pocas alternativas aparte de ponerla como una constante ). P.e. Un jpg cualquiera: $ od -t x1 -tc redacted_filename.JPG | head 0000000 ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 02 58 377 330 377 340 \0 020 J F I F \0 001 001 001 002 X puede describirse como una constante bytea E'\\Xffd8ffe000104a464946000101010258...' Dependiendo de tu entorno hay muchas formas de construirla, p.e. $ head -c16 Documents/Boda\ y\ abuelos.JPG | perl -e "\$q=qq('); "' undef $/; print "E$q\\\\x",unpack("H*",scalar(<>)),"$q\n"' E'\\xffd8ffe000104a464946000101010258' ( Parece mas de lo que es por lo dificil que es meter un script de perl que use ' y " y \ en la linea de comando del bash, probablemente en un archivo te quede solo: #!/usr/bin/perl undef $/; # Slurp whole stdin in one go. print "E'\\\\x",unpack("H*",scalar(<>)),"'\n"' > Y como se puede visualizar el registro con su imagen?? Pues como al reves, consigues el byte a y lo pasas a binario y se lo das a la rutina / programa. > Alguien me puede ayudar?? Seguro, pero deberias empezar por decir mucho mas de lo que pones, como que lenguage/sistema operativo/entorno estas usando ( parece windows por el C:\, con lo que yo no mucho, pero hay mucho experto de windows suelto por aqui ) ( porque p.e. lo que te dije fallara casi seguro en windows por el tema del binmode aunque tuvieras perl y head ). Un saludo. Francisco Olarte. - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda