Thread
Commits
-
Doc: include JSON in the list of SQL-standard types.
- 25303961d09c 19 (unreleased) landed
-
Inclusion of json in list of standard data types
Bob Kline <bkline@rksystems.com> — 2025-12-06T14:07:17Z
Would there be any reason not to add "json" to the list of data types "specified by SQL" in the "Compatibility" box shown near the beginning of Chapter 8 ("Data Types") of the PostgreSQL documentation? -- Bob Kline https://www.rksystems.com mailto:bkline@rksystems.com -
Re: Inclusion of json in list of standard data types
Tom Lane <tgl@sss.pgh.pa.us> — 2025-12-06T18:27:58Z
Bob Kline <bkline@rksystems.com> writes: > Would there be any reason not to add "json" to the list of data types > "specified by SQL" in the "Compatibility" box shown near the beginning > of Chapter 8 ("Data Types") of the PostgreSQL documentation? Yeah, that seems like an oversight. Will fix, thanks for noticing it. regards, tom lane -
Re: Inclusion of json in list of standard data types
Erik Wienhold <ewie@ewie.name> — 2025-12-08T18:33:42Z
On 2025-12-06 19:27 +0100, Tom Lane wrote: > Bob Kline <bkline@rksystems.com> writes: > > Would there be any reason not to add "json" to the list of data types > > "specified by SQL" in the "Compatibility" box shown near the beginning > > of Chapter 8 ("Data Types") of the PostgreSQL documentation? > > Yeah, that seems like an oversight. Will fix, thanks for noticing it. But does Postgres' json type really map to the JSON type defined by SQL:2023? jsonb appears to be closer to that, although I don't have access to that particular version of the standard. Peter wrote [1] about the compatibility with SQL:2023 and noted that the standard maps more readily to jsonb (see 3rd bullet point in the notes section) and features T879–T882 still only apply to jsonb. I don't think we should list json in that compatibility box unless it's an alias for jsonb (maybe in some future version). Or at least note that jsonb is the better choice for people looking for standard compatibility. To me, "compatibility" implies that Postgres also implements certain features of those standard types rather than just providing some type that happens to match the name of a standard type for historical reasons. [1] https://peter.eisentraut.org/blog/2023/04/18/postgresql-and-sql-2023 -- Erik Wienhold -
Re: Inclusion of json in list of standard data types
Tom Lane <tgl@sss.pgh.pa.us> — 2025-12-08T19:36:43Z
Erik Wienhold <ewie@ewie.name> writes: > But does Postgres' json type really map to the JSON type defined by > SQL:2023? jsonb appears to be closer to that, although I don't have > access to that particular version of the standard. Peter wrote [1] > about the compatibility with SQL:2023 and noted that the standard maps > more readily to jsonb (see 3rd bullet point in the notes section) and > features T879–T882 still only apply to jsonb. Well, there is the weasel wording right at the start of that <note>: The following types (or spellings thereof) are specified by SQL: This note also doesn't get into the rather large semantic gap between what SQL says TIMESTAMP WITH TIME ZONE is and what timestamptz actually does. I think the point of the note is mostly to say that "you have some hope of interoperability with other DBMSes if you use these types". regards, tom lane