GIN index partial match

2022-06-14 Thread huangning...@yahoo.com
Hi:I create a gin index for a bigint array. and then  want to find the array 
which contains the key is start with special prefix. for example:
row1: { 112, 345, 118}row2: { 356, 258, 358}row3: { 116, 358, 369}
I want find the key start "11",so the row1 and row3 will be return.of course it 
must be use GIN index not seq scan。

is there any example ?

Thank You!

parallel not working

2022-05-19 Thread huangning...@yahoo.com
Hi:
I write a  C function, the function is as follows:
create function st_geosotgrid(geom geometry, level integer) returns geosotgrid[]
immutable
strict
parallel safe
language c
as
$$
begin
-- missing source code
end;
$$;




At the same time, I set the relevant parameters:
force_parallel_mode: offmax_parallel_maintenance_workers: 
4max_parallel_workers: 8max_parallel_workers_per_gather: 2max_worker_processes: 
8min_parallel_index_scan_size: 64min_parallel_table_scan_size: 
1024parallel_leader_participation: on
set parallel_setup_cost = 10;set parallel_tuple_cost = 0.001;

sql:
select st_geosotgrid(geom,20) from t_polygon_gis;

and the explain as follows:

Gather  (cost=10.00..5098.67 rows=20 width=32)  Workers Planned: 2  ->  
Parallel Seq Scan on t_polygon_gis  (cost=0.00..4888.67 rows=8 width=32)


when i explain analyze ,the parallel worker is suspend:




I would like to know how can I get it to work properly?

Thank You!