Vím, že tato otázka je trochu stará, ale možná někdo narazí na odpověď a pomůže mu to.
Správný způsob, jak udělat to, co hledáte, je vytvořit a použít zobrazení. Ano, bude to trochu zdlouhavé jednorázově vypisovat všechny ty nové názvy sloupců jako aliasy, ale pokud je sloupců hodně, zde je trik, který můžete použít k využití metadat PostgreSQL k vypsání textu pohledu:
select 'CREATE OR REPLACE VIEW people AS SELECT ' ||
(select string_agg(column_name || ' AS person_' || column_name, ', ')
from information_schema.columns
where table_name = 'person'
group by table_name) ||
' FROM person;';
spuštěním tohoto výsledku:
?column?
-------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE VIEW people AS SELECT last_name AS person_last_name, first_name AS person_first_name FROM person;
1 record(s) selected [Fetch MetaData: 0/ms] [Fetch Data: 0/ms]
[Executed: 4/21/12 2:05:21 PM EDT ] [Execution: 9/ms]
pak můžete zkopírovat a spustit výsledky a voila:
select * from people;
person_last_name person_first_name
------------------- --------------------
Melvoin Wendy
Coleman Lisa
2 record(s) selected [Fetch MetaData: 1/ms] [Fetch Data: 0/ms]