GPデータベース分散キー照会
1403 ワード
GPデータベースのテーブルには一般的に分散キーが設定されていますが、設定されていない場合は最初のフィールドがデフォルトとなりますので、一般的には、テーブルのレコードが分散キーとして均一に分布するフィールドを使用して、テーブルのレコードを各segmentに均一に分布させることをお勧めします.
GPデータベース分布キー照会方法:
GPデータベース分布キー照会方法:
select c.schema_name,
c.table_name,
c.table_comment as " ",
c.column_name as " ",
from ( select d.nspname as schema_name,
c.relname as table_name,
obj_description(c.oid) as table_comment,
a.attname as column_name
from pg_class c
left join pg_attribute a
on a.attrelid = c.oid
join pg_namespace d
on d.oid = c.relnamespace
left join pg_inherits f
on c.oid = f.inhrelid
where a.attnum > 0
and f.inhrelid is null)c
join (select a.attrnums[i.i] as a.attrnums,
b.attname,
a.localoid::regclass as localoid
from gp_distribution_policy a,
(select generate_series(1,10) as generate_series) i(i),
pg_attribute b
where a.attrnums[i.i] is not null
and a.localoid = b.attrelid
and a.attrnums[i.i] = b.attnum) t
on c.column_name = t.attname
and ((c.schema_name::text || '.'::text) || a.table_name::text)::regclass::oid = t.localoid::oid
order by c.schema_name,
c.table_name,
c.column_name
;