SELECT att.nspname,att.relname,string_agg (a.attname,',') attby
FROM(SELECT c.oid,n.nspname,c.relname,regexp_split_to_table (array_to_string (d.distkey,' '),' ')::intas attnu
FROM gp_distribution_policy d
LEFTJOIN pg_class c ON c.oid = d.localoid
LEFTJOIN pg_namespace n ON n.oid = c.relnamespace
WHERE c.oid ='表名'::regclass
) att
LEFTJOIN pg_attribute a ON a.attrelid = att.oid
WHERE att.attnu = a.attnum
GROUPBY1,2;