Это происходит потому, что вы выбираете кортежи через имя таблицы, а не столбцы.Вы увидите это, если выберете a.n_dead_tup
.Вы можете повторить это для всех таблиц, если хотите, но я предпочитаю решения ниже.
Я бы предложил простое group by
:
select relname, n_dead_tup
from pg_stat_user_tables
where relname in ('table1', 'table2', 'table3', 'table4', 'table5');
Или условное агрегирование:
select max(n_dead_tup) filter (relname = 'table1') as table1,
max(n_dead_tup) filter (relname = 'table2') as table2,
max(n_dead_tup) filter (relname = 'table3') as table3,
max(n_dead_tup) filter (relname = 'table4') as table4,
max(n_dead_tup) filter (relname = 'table5') as table5
from pg_stat_user_tables
where relname in ('table1', 'table2', 'table3', 'table4', 'table5')