Обсуждение: How to retrieve the partition info for each partition table?
SELECT i.inhrelid::regclass AS child
FROM pg_inherits i
WHERE i.inhparent = 'public.measurement'::regclass;
My question is: how to get the value boundary for each partition table like bellow?
measurement_y2006m02 FROM ('2006-02-01') TO ('2006-03-01')
measurement_y2006m03 FROM ('2006-03-01') TO ('2006-04-01')
Thanks,
Yuxia
From: Yuxia Qiu [mailto:yuxiaqiu1@gmail.com]
Sent: Wednesday, October 24, 2018 1:29 PM
To: pgsql-general@lists.postgresql.org
Subject: How to retrieve the partition info for each partition table?
HI,
I have created some partition table, as example bellow:
CREATE TABLE public.measurement
(
city_id integer NOT NULL,
logdate date NOT NULL,
peaktemp integer,
unitsales integer
) PARTITION BY RANGE (logdate) ;
CREATE TABLE public.measurement_y2006m02 PARTITION OF public.measurement
FOR VALUES FROM ('2006-02-01') TO ('2006-03-01');
CREATE TABLE public.measurement_y2006m03 PARTITION OF public.measurement
FOR VALUES FROM ('2006-03-01') TO ('2006-04-01');
I know how to get a list partition tables for above example by calling :
SELECT i.inhrelid::regclass AS child
FROM pg_inherits i
WHERE i.inhparent = 'public.measurement'::regclass;
My question is: how to get the value boundary for each partition table like bellow?
measurement_y2006m02 FROM ('2006-02-01') TO ('2006-03-01')
measurement_y2006m03 FROM ('2006-03-01') TO ('2006-04-01')
Thanks,
Yuxia
Take a look at relpartbound in pg_class.
Regards,
Igor Neyman
From: Yuxia Qiu [mailto:yuxiaqiu1@gmail.com]
Sent: Wednesday, October 24, 2018 1:29 PM
To: pgsql-general@lists.postgresql.org
Subject: How to retrieve the partition info for each partition table?
HI,
I have created some partition table, as example bellow:
CREATE TABLE public.measurement
(
city_id integer NOT NULL,
logdate date NOT NULL,
peaktemp integer,
unitsales integer
) PARTITION BY RANGE (logdate) ;
CREATE TABLE public.measurement_y2006m02 PARTITION OF public.measurement
FOR VALUES FROM ('2006-02-01') TO ('2006-03-01');
CREATE TABLE public.measurement_y2006m03 PARTITION OF public.measurement
FOR VALUES FROM ('2006-03-01') TO ('2006-04-01');
I know how to get a list partition tables for above example by calling :
SELECT i.inhrelid::regclass AS child
FROM pg_inherits i
WHERE i.inhparent = 'public.measurement'::regclass;
My question is: how to get the value boundary for each partition table like bellow?
measurement_y2006m02 FROM ('2006-02-01') TO ('2006-03-01')
measurement_y2006m03 FROM ('2006-03-01') TO ('2006-04-01')
Thanks,
Yuxia
Better yet:
SELECT relname, pg_get_expr(relpartbound, oid) FROM pg_class WHERE relpartbound IS NOT NULL;
Regards,
Igor Neyman
From: Yuxia Qiu [mailto:yuxiaqiu1@gmail.com]
Sent: Wednesday, October 24, 2018 1:29 PM
To: pgsql-general@lists.postgresql.org
Subject: How to retrieve the partition info for each partition table?
HI,
I have created some partition table, as example bellow:
CREATE TABLE public.measurement
(
city_id integer NOT NULL,
logdate date NOT NULL,
peaktemp integer,
unitsales integer
) PARTITION BY RANGE (logdate) ;
CREATE TABLE public.measurement_y2006m02 PARTITION OF public.measurement
FOR VALUES FROM ('2006-02-01') TO ('2006-03-01');
CREATE TABLE public.measurement_y2006m03 PARTITION OF public.measurement
FOR VALUES FROM ('2006-03-01') TO ('2006-04-01');
I know how to get a list partition tables for above example by calling :
SELECT i.inhrelid::regclass AS child
FROM pg_inherits i
WHERE i.inhparent = 'public.measurement'::regclass;
My question is: how to get the value boundary for each partition table like bellow?
measurement_y2006m02 FROM ('2006-02-01') TO ('2006-03-01')
measurement_y2006m03 FROM ('2006-03-01') TO ('2006-04-01')
Thanks,
Yuxia
Better yet:
SELECT relname, pg_get_expr(relpartbound, oid) FROM pg_class WHERE relpartbound IS NOT NULL;
Regards,
Igor Neyman