How to Retrieve Blob Datatype from Postgres with Python

In this article, We will learn How to retrieve BLOB from a PostgreSQL database.
- BLOB is a Binary large object (BLOB) is a data type that can store any binary data.
- To Retrieve Blob Datatype from Postgres with Python we will use psycopg2.
Stepwise Implementation:
- Connect to the PostgreSQL server.
- Create a cursor with the help of cursor() method in Python.
- Execute the Retrieve Query using the execute() method with BLOB VALUES.
- And then Close the Cursor and commit the changes.
The below code is an example to Retrieve BLOB data in a PostgreSQL database.
Python3
import psycopg2 from config import config # connect to the PostgreSQL server # & creating a cursor object conn = psycopg2.connect(**config) cur = conn.cursor() # Retrieve BLOB data from the database. cur.execute('SELECT * FROM BLOB_DataStore') db = cur.fetchall() BLOB = db[0][2] open("FromDB"+db[0][1], 'wb').write(BLOB) cur.close() conn.commit() |
Complete Function to Retrieve the BLOB data into the database
The code to Retrieve BLOB data in a PostgreSQL database with the Table name blob_datastore.
Retrieve Blob Datatype from Postgres
Python3
# Complete Function to Retrieve # the BLOB data into the database. import psycopg2 from config import config # This Function will Creates File from binary data. def Binary_To_File(BLOB, FileName, oldFileName): with open(f"{FileName}", 'wb') as file: file.write(BLOB) print(f"{oldFileName} File saved With Name name {FileName}") def retrieve_BLOB(S_No, newFileName): """ Retrieve a BLOB From a table """ conn = None try: # connect to the PostgreSQL server # & creating a cursor object conn = psycopg2.connect(**config) # Creating a cursor with name cur. cur = conn.cursor() # Retrieve BLOB data from the database. cur.execute('SELECT * FROM BLOB_DataStore') db = cur.fetchall() BLOB = db[S_No-1][2] # open("FromDB"+db[0][1], 'wb').write(BLOB) Binary_To_File(BLOB, newFileName, db[S_No-1][1]) # Close the connection cur.close() except(Exception, psycopg2.DatabaseError) as error: print(error) finally: if conn is not None: # Commit the changes to the database conn.commit() retrieve_BLOB(1, 'OctaFromDB.jpg') |
Output:
Retrieve Blob Datatype from Postgres
Retrieving Different Types of Files(BLOB Datatype)
The code to Retrieve BLOB data from PostgreSQL database With the Table name blob_datastore. The type of data that we will Retrieve:
- MP4
- DOCS
- Image
- Video
- gif
- HTML
- MP3
Retrieve Blob Datatype from Postgres
Example:
Python3
import psycopg2 from config import config conn = Nonetry: # connect to the PostgreSQL server conn = psycopg2.connect(**config) # Creating a cursor with name cur. cur = conn.cursor() # SQL query to fetch data from the database. cur.execute('SELECT * FROM BLOB_DataStore') # open(file,'wb').write() is used to # write the binary data to the file. for row in cur.fetchall(): BLOB = row[2] open("new"+row[1], 'wb').write(BLOB) print(row[0], row[1], "BLOB Data is saved\ in Current Directory") # Close the connection cur.close() except(Exception, psycopg2.DatabaseError) as error: print(error) finally: if conn is not None: # Commit the changes to the database conn.commit() |
Output:
Retrieve Blob Datatype from Postgres



