Search Postgresql Archives

Re: Getting specific partition from the partition name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Fri, 9 Aug 2024 at 06:20, Ron Johnson <ronljohnsonjr@xxxxxxxxx> wrote:

What if the partitions aren't all rationally named?  There must be a pg_* table out there which contains the partition boundaries...


The pg_class column relpartbound contains an internal representation of the partition boundary, when applicable.
You can decompile it into the canonical text format with pg_get_expr( expr pg_node_tree, relation oid [, pretty boolean ] ) → text.
So:
    create table t(x int primary key) partition by list(x);
    create table u partition of t for values in (0,1);
    create table v partition of t for values in (2,3,4,5,6,7,8,9);
    select oid::regclass,pg_get_expr(relpartbound,oid) from pg_class where relkind='r' and relispartition;
 oid |              pg_get_expr
-----+----------------------------------------
 u   | FOR VALUES IN (0, 1)
 v   | FOR VALUES IN (2, 3, 4, 5, 6, 7, 8, 9)
(2 rows)

Best,
Giovanni


 

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux