आप partition by
. में व्यंजक का उपयोग कर सकते हैं खंड, उदा.:
create table my_table(name text)
partition by list (left(name, 1));
create table my_table_a
partition of my_table
for values in ('a');
create table my_table_b
partition of my_table
for values in ('b');
परिणाम:
insert into my_table
values
('abba'), ('alfa'), ('beta');
select 'a' as partition, name from my_table_a
union all
select 'b' as partition, name from my_table_b;
partition | name
-----------+------
a | abba
a | alfa
b | beta
(3 rows)
यदि विभाजन केस असंवेदनशील होना चाहिए तो आप इसका उपयोग कर सकते हैं
create table my_table(name text)
partition by list (lower(left(name, 1)));
दस्तावेज़ीकरण में पढ़ें: