У меня есть секционированная таблица с установленными специальными разрешениями:
CREATE TABLE public.paritioned_table (
_time int8 NULL,
...
) PARTITION BY RANGE (_time);
- Разрешения
GRANT ALL ON TABLE public.paritioned_table TO someuser;
У меня есть триггер для создания разделов:
_partition := 'paritioned_table_' || to_char(to_timestamp(_time),'YYYY_MM');
IF NOT EXISTS(SELECT relname FROM pg_class WHERE relname = _partition) THEN
RAISE NOTICE 'A partition has been created %', _partition;
select extract(epoch FROM date_trunc('month', to_timestamp(_time))) into _from;
select extract(epoch FROM date_trunc('month', to_timestamp(_time)) + INTERVAL '1 MONTH') into _to;
execute 'CREATE TABLE ' || _partition || ' PARTITION OF paritioned_table FOR VALUES FROM (' || _from || ') TO (' || _to || ')';
END IF;
Проблема в том, что новый созданный раздел не наследует родительские разрешения. Так что мой вопрос - как лучше создавать разделы с разрешениями наследования