50 миллионов строк - это не проблема в Greenplum, но возвращать такое количество строк клиенту бессмысленно. Я предполагаю, что вы хотите создать новую таблицу для этого нового вывода. Вы также собираетесь создать таблицу, которая будет в 2 раза больше, потому что вы берете одну строку и превращаете ее в 2.
create table new_table as
select id, mid_1 as mid, name_1 as name, age_1 as age, location
from your_table
union all
select id, mid_2 as mid, name_2 as name, age_2 as age, location
from your_table
distributed by (id);