On 11/16/25 08:56, Christophe Pettus wrote:
Hi!

I am attempting to override the default adapters for JSON and JSONB in psycopg 
(3), but I am not quite sure how to go about it (I'm testing using orjson for 
serialization and deserialization).  This doesn't appear to work:

class CyanJSONBLoader(Loader):
     def load(self, data):
         return orjson.loads(data)

psycopg.adapters.register_loader("jsonb", CyanJSONBLoader)

class CyanJSONBDumper(Dumper):
     def dump(self, obj):
         return orjson.dumps(obj)

psycopg.adapters.register_dumper("jsonb", CyanJSONBDumper)


The calls work, but the dump/load functions are never called.

I think you might need to use:

https://www.psycopg.org/psycopg3/docs/basic/adapt.html#adapt-json



Thanks!



--
Adrian Klaver
[email protected]


Reply via email to