我在数据库中两个不同的表,如动态查询Postgres里
db=# select * from pg_tables where tablename like '%enhancedreports03_1970_01_01%';
SCHEMANAME |表名| tableowner |表空间| hasindexes | hasrules |触发器 ------------ + ------------------------------ + ---- ----------------- + -------------- + ------------ + ---- ------ + ------------- 报告| enhancedreports03_1970_01_01 | ss_agent_summarizer | rpt_data_tbs | t | f | f (1 row)
db=# select * from pg_tables where tablename like '%enhancedreports03_0_1970_01_01%';
schemaname |表名| tableowner |表空间| hasindexes | hasrules |触发器 ------------ + -------------------------------- + - ------------------- + -------------- + ------------ + - -------- + ------------- 报告| enhancedreports03_0_1970_01_01 | ss_agent_summarizer | rpt_data_tbs | t | f | ˚F (1行)
要求是采取CSV备份,我尝试使用下面的动态查询
db=# select 'copy ' || '"'|| "schemaname" ||'"' || '.' ||'"'|| "tablename" ||'"' || ' from ' || ' ''/home/postgres/' || schemaname || '_' || tablename || '.' || 'csv.gz''' || ' delimiter ''' || ',' || ''' CSV' || ';' from pg_tables where tablename like '%enhancedreports03_0_1970_01_01%' order by schemaname,tablename;
?column?
---------------------------------------------------------------------------------------------------------------------------------------------------------
copy "reports"."enhancedreports03_0_1970_01_01" from '/home/postgres/reports_enhancedreports03_0_1970_01_01.csv.gz' delimiter ',' CSV;
但我需要的结果集是这样的
copy "reports"."enhancedreports03_1970_01_01" from '/home/postgres/reports_enhancedreports03_0_1970_01_01.csv.gz' delimiter ',' CSV;
查询没有动态查询没有给我想要的结果set..What我需要的是有针对性表应该是复制到表没有下划线零(_0)..即)enhancedreports03_0_1970_01_01增强报告03_1970_01_01 – user3359124
对不起,我真的不明白你目前的问题,你请解释它...对不起.. –
实际上我不明白的需要dianamic查询因为你有一个单一的表和一个单一的CSV文件,所以直接使用它... –