Search Postgresql Archives

Re: How to display stored image as bytea or as large objects?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I use python with psycopg2, for a table 'myimage_table' with columns 'label' and 'b' of type varchar and bytea something like this:

<set up database connection, and get a cursor>
query = 'insert into myimage_table (label, b) values (%s, %s)'
imagelabel = 'some_label'
imagebuf = <byte data of your image>
b = psycopg2.Binary(imagebuf)
cur.execute(query, (imagelabel, b))

The SQL query doesn't have raw binary data in it, the text representing the raw data looks something like this: \\xffd8ffe000104a... 
Psycopg2 constructs the SQL query, including encoding the raw bytes into text to send to Postgres (which converts back to raw bytes to store.)
Once you actually have raw image data in your table, you can use dbeaver or other tools and get a rendered image corresponding to the value stored.

--hjl

On Wed, Jul 14, 2021 at 9:12 PM Csanyi Pal <csanyipal@xxxxxxxxx> wrote:
2021. 07. 14. 22:17 keltezéssel, Ho John Lee írta:
> If you have the binary data for the image in the bytea field, DBeaver
> will display the image when you select that field in table view of the data.
> The field will display something like "ÿØÿà  JFIF   [nnnnn]" in the row
> (first part of data as unicode, and data length in bytes), you won't see
> the image unless you put focus on it.

I will try this, but do not know which SQL code will store an image in a
bytea data type column?

Could you give such SQL code please?

At the moment I have stored image in an oid data type column.


> .--hjl

> On Wed, Jul 14, 2021 at 12:57 PM Csanyi Pal <csanyipal@xxxxxxxxx
> <mailto:csanyipal@xxxxxxxxx>> wrote:
>
>     Hi,
>
>     I am a novice in postgresql language.
>
>     By reading the documentation about storing binary data in postgresql
>     database, I realize that that one can store images as binary data by
>     using bytea or BLOB data types.
>
>     I am running postgresql on Ubuntu 20.04.2 LTS and using pgAdmin4 in
>     Desktop mode.
>
>     I have stored an image in one of my table with this command:
>
>     <code>
>     insert into leckek
>     (az, a_tanitas_nyelve, mely_negyedevben, mely_osztalyban,
>     mely_tagozaton, mely_orakon, a_tanitas_temaja,
>        a_lecke_neve, a_lecke_gyakorlati_reszenek_neve,
>     a_lecke_gyakorlati_reszenek_dokumentuma,
>        a_lecke_elmeleti_reszenek_neve,
>     a_lecke_elmeleti_reszenek_dokumentuma,
>     a_lecke_elmeleti_reszenek_tesztje)
>     values (default, 'Hu', 1, 5, 'b', '1-2', 'Élet és mukakörnyezet',
>                      'A technika és technológia fogalma, szerepe és
>     jelentősége',
>                      'másolás',
>                      default,
>                      'A lényeg',
>
>     lo_import('/home/pali/Irataim/Iskola/IskolaEv_2020_2021/MuszakiOraim/Digitalis_Tananyagok_Orakra/Hu/5/5_osztaly_Tananyag_01_02_orara.png'),
>                      default)
>     </code>
>
>     so I have now in this table the first row:
>     1       "Hu"    1       5       "b"     "1-2  " "Élet és
>     mukakörnyezet" "A technika és
>     technológia fogalma, szerepe és jelentősége"    "másolás"           
>         "A lényeg"      "16800"
>
>     Here the 16800 is the OID of the binary data, the image.
>
>     I would like to know how can one display this stored image somehow by
>     using some IDE for manage databases?
>
>     In applications like pgAdmin4, Libreoffice Base, pgModeler, DBeaver one
>     can't display this stored image.
>
>     In SQLiteBrowser (this is an IDE for SQLite databases) one can display
>     with easy the stored image.
>
>     So is there an easy way to display a stored image in postgresql?
>
>     --
>     Best,
>     from Paul



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux