Как правильно передать колонки в hstore, чтобы колонки были названием ключей
Когда я пытаюсь передать в hstore необходимые колонки все именуются в формате f1-fn. Если я передаю в hstore псевдоним таблицы, то ключи именуются нормально
SELECT hstore(edp)
FROM dbo.ed_devices_pts edp
LIMIT 1;
И результат становится адекватный, но мне не нужно брать все поля
link_imp2 => null,
f_division => 6,
link => 11197321,
f_devices => 10291621,
n_percent2 => null,
f_subdivision => 0,
f_device_distributor => null,
s_audit_id_create => 5562,
n_percent => 100.0000,
c_note => null,
link_imp => ,
f_energy_types => 9,
f_energy_types_distributor => null,
s_owner => omnix,
b_main => t
Я пробовал преобразовывать в тип record, но это не помагает
SELECT hstore((edp.b_main,
edp.link_imp,
edp.f_devices,
edp.n_percent,
edp.d_date_end,
edp.f_division,
edp.n_percent2,
edp.d_date_begin,
edp.f_registr_pts,
edp.f_subdivision,
edp.f_energy_types)::record)
FROM dbo.ed_devices_pts edp
LIMIT 1;
И я получаю результат в таком формате
f6 => 6,
f7 => null,
f8 => "2000-01-01 00:00:00+03",
f9 => 10472461,
f10 => 0,
f11 => 9,
f1 => t,
f2 => ,
f3 => 10291621,
f4 => 100.0000,
f5 => "2008-10-17 01:00:00+04"
Передавать в виде массива тоже не вариант, код слишком разрастается.
Я знаю, что можно использовать подзапрос в выбором нужных колонок, но в некоторых случаях тогда придется вычитать ключи, когда колонка используется в условии соединения, но не должна использоваться в hstore.