diff --git a/web/pgadmin/utils/driver/psycopg2/__init__.py b/web/pgadmin/utils/driver/psycopg2/__init__.py index c63c35e4..2b6ed6de 100644 --- a/web/pgadmin/utils/driver/psycopg2/__init__.py +++ b/web/pgadmin/utils/driver/psycopg2/__init__.py @@ -18,6 +18,7 @@ from flask import session from flask_babelex import gettext import psycopg2 from psycopg2.extensions import adapt +from psycopg2.extras import Json as psycopg2_json import config from pgadmin.model import Server, User @@ -225,7 +226,14 @@ class Driver(BaseDriver): @staticmethod def qtLiteral(value): - adapted = adapt(value) + adapted = None + + # adapt function cannot adapt dict data type + # Used http://initd.org/psycopg/docs/extras.html#json-adaptation + if type(value) == dict: + adapted = psycopg2_json(value) + else: + adapted = adapt(value) # Not all adapted objects have encoding # e.g.