1、数据的读取可以采用函数 pg.spi.exec,并把数据写入本地
CREATE OR REPLACE FUNCTION cheek_up.distance_1()
RETURNS integer AS
$BODY$
data=pg.spi.exec('select * from cheek_up.cbr_cost') /*数据的读入*/
da1=data
write.csv(da1,"/data3/wbdata/distance.csv",row.names=FALSE) /*数据写入本地*/
return(1)
$BODY$
LANGUAGE plr VOLATILE;
ALTER FUNCTION cheek_up.distance_1() OWNER TO gpadmin;
2、采用copy得到表
CREATE OR REPLACE FUNCTION cheek_up.distance_2()
RETURNS integer AS
$BODY$
begin
delete from cheek_up.distance;
perform cheek_up.distance_1(); //注意是perform
copy cheek_up.distance from '/data3/wbdata/distance.csv' header delimiter ','; /*数据写了表中*/
return 1;
end;
$BODY$
LANGUAGE plpgsql VOLATILE;
ALTER FUNCTION cheek_up.distance_2() OWNER TO gpadmin;