Re: partition tree inspection functions
От | Jesper Pedersen |
---|---|
Тема | Re: partition tree inspection functions |
Дата | |
Msg-id | 38183355-ea7c-9443-0c38-6124fcf5f38b@redhat.com обсуждение исходный текст |
Ответ на | Re: partition tree inspection functions (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>) |
Ответы |
Re: partition tree inspection functions
|
Список | pgsql-hackers |
Hi Amit, On 07/19/2018 04:39 AM, Amit Langote wrote: >> I think pg_partition_tree_tables should have an option to exclude the >> table that is being queried from the result (bool include_self). > > Doesn't sound too bad, so added include_self. > I'm thinking about how to best use these functions to generate a graph that represents the partition hierarchy. What about renaming pg_partition_tree_tables() to pg_partition_children(), and have it work like select * from pg_partition_children('p', true); --------- p p0 p1 p00 p01 p10 p11 (7 rows) select * from pg_partition_children('p', false); --------- p0 p1 (2 rows) e.g. if 'bool include_all' is true all nodes under the node, including itself, are fetched. With false only nodes directly under the node, excluding itself, are returned. If there are no children NULL is returned. >> Maybe a function like pg_partition_number_of_partitions() could be of >> benefit to count the number of actual partitions in a tree. Especially >> useful in complex scenarios, >> >> select pg_partition_number_of_partitions('p') as number; >> >> number >> --------- >> 4 >> (1 row) > > Okay, adding one more function at this point may not be asking for too > much. Although, select count(*) from pg_partition_tree_tables('p') would > give you the count, a special function seems nice. > Yeah, but I was thinking that the function would only return the number of actual tables that contains data, e.g. not include 'p', 'p0' and 'p1' in the count; otherwise you could use 'select count(*) from pg_partition_children('p', true)' like you said. Thanks for considering. Best regards, Jesper
В списке pgsql-hackers по дате отправления: