Estou recriando uma tabela que costumava ser atualizada por triggers, para os novos tipos de colunas geradas.
Estou com um problema em que, se a coluna gerada puder ser NULL
, ela falhará silenciosamente e será inserida como NULL
. Se as colunas forem, NOT NULL
a inserção falhará como um arquivo NOT NULL constraint
.
Ambos os casos falham e não geram os valores de célula esperados.
create table test_table
(
coord_array double precision[] not null,
wkb_geometry geometry generated always as (st_setsrid(st_point(coord_array[0], coord_array[1]), 4326)) stored not null,
wkt_geometry text generated always as (st_astext(st_setsrid(st_point(coord_array[0], coord_array[1]), 4326))) stored not null,
geojson_coord_string jsonb generated always as ((st_asgeojson(st_setsrid(st_point(coord_array[0], coord_array[1]), 4326)))::jsonb) stored not null
);
O ideal é que a inserção só aconteça com valores paracoord_array
insert into test_table (coord_array) values ('{25.0 ,-26.0}')