Saya tahu pertanyaan ini agak lama, tetapi mungkin seseorang akan menemukan jawabannya dan itu akan membantu mereka.
Cara yang tepat untuk melakukan apa yang Anda cari adalah dengan membuat dan menggunakan View. Ya, satu kali akan sedikit membosankan untuk mengetik semua nama kolom baru sebagai alias, tetapi jika ada banyak kolom, inilah trik yang dapat Anda gunakan untuk memanfaatkan metadata PostgreSQL untuk menulis teks tampilan:
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;';
menjalankan ini menghasilkan:
?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]
Anda kemudian dapat menyalin dan menjalankan hasilnya dan 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]