try: a.fld1[1] = '[221,222,223,224]'; чт, 29 апр. 2021 г. в 10:35, PG Doc comments form <nore...@postgresql.org>:
> The following documentation comment has been logged on the website: > > Page: https://www.postgresql.org/docs/13/arrays.html > Description: > > I have PostgreSQL 13. Let's declare the type below, then use it in > pl/pgsql: > > create type typ1 as ( > fld1 int[][] > ); > > do $$ > declare > a typ1; > begin > a.fld1 = '{{121,122,123,124}}'; -- OK > (1) > a.fld1[1] = '{221,222,223,224}'; -- fails > (2) > a.fld1[1][1] = 321; -- > OK (3) > a.fld1[1][2] = 322; -- > OK unless line (1) is removed > end; > $$; > > In line (2) the plql reports ERROR: invalid input syntax for type integer: > "{221,222,223,224}" > When lines (1) and (2) are removed, psql reports ERROR: array subscript > out > of range > > Is this expected behavior? Why? > > Rafal >