Thread: 8.14.5 jsonb subscripting

8.14.5 jsonb subscripting

From
PG Doc comments form
Date:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/16/datatype-json.html
Description:

Using subscripts with square brackets is not supported, one must use -> or
#> operators
The given examples result in error:

SELECT ('{"a": 1}'::jsonb)['a'];

-- Extract nested object value by key path
SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];

-- Extract array element by index
SELECT ('[1, "2", null]'::jsonb)[1];

Re: 8.14.5 jsonb subscripting

From
Laurenz Albe
Date:
On Tue, 2024-04-09 at 09:31 +0000, PG Doc comments form wrote:
> Page: https://www.postgresql.org/docs/16/datatype-json.html
>
> Using subscripts with square brackets is not supported, one must use -> or
> #> operators
> The given examples result in error:
>
> SELECT ('{"a": 1}'::jsonb)['a'];
>
> -- Extract nested object value by key path
> SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];
>
> -- Extract array element by index
> SELECT ('[1, "2", null]'::jsonb)[1];

You must be using an old PostgreSQL version where that is not yet supported.

Yours,
Laurenz Albe



Re: 8.14.5 jsonb subscripting

From
Arne Sommerfelt
Date:
I am running on AWS RDS - it says engine version 12.17 i thought that was the postgres version. If so, the [] subscripting should be supported according to docs.

Arne

tir. 9. apr. 2024 kl. 13:16 skrev Laurenz Albe <laurenz.albe@cybertec.at>:
On Tue, 2024-04-09 at 09:31 +0000, PG Doc comments form wrote:
> Page: https://www.postgresql.org/docs/16/datatype-json.html
>
> Using subscripts with square brackets is not supported, one must use -> or
> #> operators
> The given examples result in error:
>
> SELECT ('{"a": 1}'::jsonb)['a'];
>
> -- Extract nested object value by key path
> SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];
>
> -- Extract array element by index
> SELECT ('[1, "2", null]'::jsonb)[1];

You must be using an old PostgreSQL version where that is not yet supported.

Yours,
Laurenz Albe

Re: 8.14.5 jsonb subscripting

From
Arne Sommerfelt
Date:
I checked with SELECT VERSION(); and got:
PostgreSQL 12.17 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit

tir. 9. apr. 2024 kl. 15:05 skrev Arne Sommerfelt <arne.sommerfelt@gmail.com>:
I am running on AWS RDS - it says engine version 12.17 i thought that was the postgres version. If so, the [] subscripting should be supported according to docs.

Arne

tir. 9. apr. 2024 kl. 13:16 skrev Laurenz Albe <laurenz.albe@cybertec.at>:
On Tue, 2024-04-09 at 09:31 +0000, PG Doc comments form wrote:
> Page: https://www.postgresql.org/docs/16/datatype-json.html
>
> Using subscripts with square brackets is not supported, one must use -> or
> #> operators
> The given examples result in error:
>
> SELECT ('{"a": 1}'::jsonb)['a'];
>
> -- Extract nested object value by key path
> SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];
>
> -- Extract array element by index
> SELECT ('[1, "2", null]'::jsonb)[1];

You must be using an old PostgreSQL version where that is not yet supported.

Yours,
Laurenz Albe

Re: 8.14.5 jsonb subscripting

From
Tom Lane
Date:
Arne Sommerfelt <arne.sommerfelt@gmail.com> writes:
> I am running on AWS RDS - it says engine version 12.17 i thought that was
> the postgres version. If so, the [] subscripting should be supported
> according to docs.

According to what docs?  Generic subscripting was added in v14.

            regards, tom lane



Re: 8.14.5 jsonb subscripting

From
Arne Sommerfelt
Date:
image.png

tir. 9. apr. 2024 kl. 16:00 skrev Tom Lane <tgl@sss.pgh.pa.us>:
Arne Sommerfelt <arne.sommerfelt@gmail.com> writes:
> I am running on AWS RDS - it says engine version 12.17 i thought that was
> the postgres version. If so, the [] subscripting should be supported
> according to docs.

According to what docs?  Generic subscripting was added in v14.

                        regards, tom lane
Attachment

Re: 8.14.5 jsonb subscripting

From
Daniel Gustafsson
Date:
> On 9 Apr 2024, at 16:02, Arne Sommerfelt <arne.sommerfelt@gmail.com> wrote:

> <image.png>

Thats the documentation for v16, not the version you are running.

--
Daniel Gustafsson




Re: 8.14.5 jsonb subscripting

From
Arne Sommerfelt
Date:
12 is in the list of supported versions at the top of chapter 8.14. And the non-working examples is in subsection 8.14.5

tir. 9. apr. 2024 kl. 16:02 skrev Arne Sommerfelt <arne.sommerfelt@gmail.com>:
image.png

tir. 9. apr. 2024 kl. 16:00 skrev Tom Lane <tgl@sss.pgh.pa.us>:
Arne Sommerfelt <arne.sommerfelt@gmail.com> writes:
> I am running on AWS RDS - it says engine version 12.17 i thought that was
> the postgres version. If so, the [] subscripting should be supported
> according to docs.

According to what docs?  Generic subscripting was added in v14.

                        regards, tom lane
Attachment

Re: 8.14.5 jsonb subscripting

From
Daniel Gustafsson
Date:
> On 9 Apr 2024, at 16:04, Arne Sommerfelt <arne.sommerfelt@gmail.com> wrote:
>
> 12 is in the list of supported versions at the top of chapter 8.14. And the non-working examples is in subsection
8.14.5

I think you've misunderstood the header of the page.  This is the documentation
you should be reading for your version if Postgres:

    https://www.postgresql.org/docs/12/index.html

--
Daniel Gustafsson




Re: 8.14.5 jsonb subscripting

From
Arne Sommerfelt
Date:
OK, sorry if am making unnecessary noise. Since my version was listed as supported I assumed the docs was valid for me.

Thanks for your help
cheers 
Arne

tir. 9. apr. 2024 kl. 16:04 skrev Daniel Gustafsson <daniel@yesql.se>:
> On 9 Apr 2024, at 16:02, Arne Sommerfelt <arne.sommerfelt@gmail.com> wrote:

> <image.png>

Thats the documentation for v16, not the version you are running.

--
Daniel Gustafsson

Re: 8.14.5 jsonb subscripting

From
Arne Sommerfelt
Date:
Thank you!  When googling it is easy to end up with latest docs, unfortunately

Arne

tir. 9. apr. 2024 kl. 16:06 skrev Daniel Gustafsson <daniel@yesql.se>:
> On 9 Apr 2024, at 16:04, Arne Sommerfelt <arne.sommerfelt@gmail.com> wrote:
>
> 12 is in the list of supported versions at the top of chapter 8.14. And the non-working examples is in subsection 8.14.5

I think you've misunderstood the header of the page.  This is the documentation
you should be reading for your version if Postgres:

        https://www.postgresql.org/docs/12/index.html

--
Daniel Gustafsson

Re: 8.14.5 jsonb subscripting

From
Daniel Gustafsson
Date:
> On 9 Apr 2024, at 16:07, Arne Sommerfelt <arne.sommerfelt@gmail.com> wrote:
>
> OK, sorry if am making unnecessary noise. Since my version was listed as supported I assumed the docs was valid for
me.

No worries, we're all here to learn.  The "supported version" means that 12 is
a version which the project still supports with bugfixes.

--
Daniel Gustafsson




Re: 8.14.5 jsonb subscripting

From
"David G. Johnston"
Date:
On Tuesday, April 9, 2024, Arne Sommerfelt <arne.sommerfelt@gmail.com> wrote:
Thank you!  When googling it is easy to end up with latest docs, unfortunately

The 12 is a hyperlink so it is almost just as easy to view the current page in the prior version.

David J.
 

Re: 8.14.5 jsonb subscripting

From
Tom Lane
Date:
Arne Sommerfelt <arne.sommerfelt@gmail.com> writes:
> Thank you!  When googling it is easy to end up with latest docs,
> unfortunately

That's actually good news --- it used to be that Google would
tend to steer people to very ancient versions of our docs.
Sounds like the SEO work that we've done is paying off.

However, if you're running a moderately old PG version, you need
to make use of the links at the top of the page to go to the
equivalent page in the older version's docs.

            regards, tom lane



Re: 8.14.5 jsonb subscripting

From
Arne Sommerfelt
Date:
Thank you all for super prompt and friendly support. 

Best regards
Arne

tir. 9. apr. 2024 kl. 16:26 skrev Tom Lane <tgl@sss.pgh.pa.us>:
Arne Sommerfelt <arne.sommerfelt@gmail.com> writes:
> Thank you!  When googling it is easy to end up with latest docs,
> unfortunately

That's actually good news --- it used to be that Google would
tend to steer people to very ancient versions of our docs.
Sounds like the SEO work that we've done is paying off.

However, if you're running a moderately old PG version, you need
to make use of the links at the top of the page to go to the
equivalent page in the older version's docs.

                        regards, tom lane