public inbox for [email protected]
help / color / mirror / Atom feedFrom: Adrian Klaver <[email protected]>
To: Christophe Pettus <[email protected]>
To: [email protected]
Subject: Re: Overriding default adapters in psycopg
Date: Sun, 16 Nov 2025 09:25:42 -0800
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: Overriding default adapters in psycopg
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox