2015-11-18 2 views
1
INSERT INTO ip_cpu_mn(datetime, resource_id, ipaddress,cpu_utilization) 
SELECT cpu_mn.datetime, resource_id, ipaddress, cpu_utilization 
FROM dblink('host=10.0.32.175 user=postgres password=postgres dbname=TNPM_EXT','SELECT datetime, resource_id, ipaddress,cpu_utilization FROM ext_ip.cpu_mn WHERE datetime >=(now() - interval '30 minutes')') 
AS cpu_mn(datetime timestamp without time zone, resource_id numeric(10,0), ipaddress character varying(20), sysname character varying(100), cpu_utilization numeric(6,2)) 

Привет работает над запросом и получить под ошибкой:Ошибка найти последние 30 минут с помощью DBLink

psql.bin:/home/samila/SQL_SMZ/ip_cpu_mn1.sql:15: ERROR: syntax error at or near "30" LINE 6: ...xt_ip.cpu_mn WHERE datetime >= (now() - interval '30 minute'...

Любой человек может мне помочь? я пробовал много способов, все еще получил ошибку при той же ошибке.

ответ

0

Подозреваемый является апостроф (') в запросе (ERROR: syntax error at or near "30" его действительно ясно), вам нужно добавить две цитаты здесь now() - interval ''30 minutes''

INSERT INTO ip_cpu_mn(datetime, resource_id, ipaddress,cpu_utilization) 
SELECT cpu_mn.datetime, resource_id, ipaddress, cpu_utilization 
FROM dblink('host=10.0.32.175 user=postgres password=postgres dbname=TNPM_EXT','SELECT datetime, resource_id, ipaddress,cpu_utilization FROM ext_ip.cpu_mn WHERE datetime >=(now() - interval ''30 minutes'')') 
AS cpu_mn(datetime timestamp without time zone, resource_id numeric(10,0), ipaddress character varying(20), sysname character varying(100), cpu_utilization numeric(6,2)) 
Смежные вопросы