我知道这个问题有点老了,但也许有人会偶然发现答案,这将对他们有所帮助。
做您要寻找的东西的正确方法是创建和使用视图。是的,一次性输入所有这些新列名称作为别名会有点乏味,但是如果有很多列,则可以使用一种技巧来利用PostgreSQL元数据写出视图文本:
select 'CREATE OR REPLACE VIEW people AS SELECT ' || (select string_agg(column_name || ' AS person_' || column_name, ', ')from information_schema.columnswhere table_name = 'person'group by table_name) || ' FROM person;';
运行此结果:
?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]
然后,您可以复制并执行结果,瞧:
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]



