Re: How is JSON stored in PG ?

Поиск
Список
Период
Сортировка
От Laurenz Albe
Тема Re: How is JSON stored in PG ?
Дата
Msg-id 88ceafed7aa3075da85be4fc66306ac442081111.camel@cybertec.at
обсуждение исходный текст
Ответ на How is JSON stored in PG ?  (David Gauthier <davegauthierpg@gmail.com>)
Список pgsql-general
On Tue, 2021-11-16 at 10:54 -0500, David Gauthier wrote:
> Hi:
> 
> psql (11.5, server 11.3) on linux
> 
> I'm considering using JSON as a datatype for something I'm working on.  The reasons are...
> 
> 1) the 'metadata' (if you want to call it that) in JSON is very flexible.  Doesn't require an alter table or anything
likethat to change.
 
> 2) The customers for this data is probably going to be python code.  IOW, they can sort things out in their code
afterreading the whole JSON file/record.
 
> 3) Nice array of built-in functions for this datatype.
> 4) There does appear to be the ability to formulate query predicates on the JSON content (just in case)
> 
> But #4 has me a bit worried.  I'm wondering how PG stores this data given that its content can
> be specified in a query predicate.

I don't follow.  There are JSON functions and operators you can use, and then there is the
very powerful JSONPATH query language.

> Does PG just store the content in traditional PG tables ?  If so, I can do that myself.
> If not, is there a penalty to be paid at query time if PG needs to get the JSON data, then
> dismantle into a temp table (or something like that) to query.

Yes, it is stored in tables.  But "jsonb" is stored in a binary data structure that makes
it fast and efficient to access attributes and values.

I have written up the indications and counter-indications for using JSON here:
https://www.cybertec-postgresql.com/en/json-postgresql-how-to-use-it-right/

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com




В списке pgsql-general по дате отправления:

Предыдущее
От: Joe Conway
Дата:
Сообщение: Re: Account privileges
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: postgresql 9.6x installers for windows are no longer available