PostgreSQL Python: Gestione dei dati BLOB

Riepilogo: in questo tutorial, imparerai come gestire i dati BLOB PostgreSQL in Python.

SQL standard definisce BLOB come l’oggetto binario di grandi dimensioni per la memorizzazione di dati binari nel database. Con il tipo di dati BLOB, è possibile memorizzare il contenuto di un’immagine, un documento, ecc. al tavolo.

PostgreSQL non supporta BLOB ma è possibile utilizzare il tipo di dati BYTEA per memorizzare i dati binari.

Diamo un’occhiata alla tabella part_drawings.

La tabella part_drawings memorizza le immagini delle parti nella colonna drawing_data. Vi mostreremo come inserire i dati binari in questa colonna e leggerlo di nuovo.

Inserisci BLOB in una tabella

Per inserire i dati BLOB in una tabella, utilizzare i seguenti passaggi:

  1. Innanzitutto, leggi i dati da un file.
  2. Quindi, connettersi al database PostgreSQL creando un nuovo oggetto di connessione dalla funzione connect().
  3. Quindi, creare un oggetto cursor dall’oggetto connection.
  4. Successivamente, eseguire l’istruzione INSERT con i valori di input. Per i dati BLOB, si utilizza l’oggettoBinary del modulo psycopg
  5. Infine, eseguire il commit permanente delle modifiche al database PostgreSQL chiamando il metodo commit() dell’oggetto connection.

La seguente funzione write_blob() legge i dati binari da un file specificato dal parametro path_to_file e lo inserisce nella tabella part_drawings.

Lo snippet seguente chiama due volte la funzione write_blob () per inserire due nuove parti con i dati binari corrispondenti dai file immagine nella tabella part_drawings.

Code language: Python (python)

Leggi BLOB nella tabella

I passaggi di lettura di BLOB da una tabella sono simili ai passaggi di interrogazione dei dati da una tabella. Dopo aver recuperato i dati binari dalla tabella, possiamo salvare in un file,inviarlo al browser Web, ecc.

La seguente funzione read_blob() seleziona i dati BLOB dalla tabella part_drawings in base a un ID parte specificato e salva i dati BLOB in un file.

Il seguente frammento legge i dati binari delle parti con valore id 1 e 2 e salva i dati binari nella cartella images/blob.

In questo tutorial, hai imparato come gestire i dati BLOB PostgreSQL in Python utilizzando psycopg database adapter.

  • Questo tutorial è stato utile ?
  • Sìno

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.