2017-11-28 1 views
0
CREATE OR REPLACE FUNCTION j_f_sync_from_xml() 
RETURNS boolean AS 
$BODY$ 
DECLARE 
myxml xml; 
datafile text := 'ABBATE_EMANUELE.xml'; 
BEGIN 

myxml := pg_read_file(datafile, 0, 100000000); 

CREATE TABLE james AS 
SELECT (xpath('//some_id/text()', x))[1]::text AS id 
FROM unnest(xpath('/xml/path/to/datum', myxml)) x; 
END; 
$BODY$ language plpgsql; 

서버 컴퓨터에 쓸 수 없기 때문에 pg_read_file이 작동하지 않습니다. 누구든지 포스트그레스에서 로컬 파일을 사용하는 방법을 알고 있습니까?pg_read_file없이 XML 로컬 파일을 포스트그레스에로드하려면 어떻게해야합니까?

+0

귀하의 클라이언트가 윈도우에 있음을 세부 정보로 업데이트하십시오. –

+0

저는 10 번 창에 있습니다. – James

답변

0

psql의 사용 :

create table xml(body text); 
\copy xml from 'C:\temp\notes.xml'; 
select string_agg(body,'')::xml from xml; 

결과 pgadmin와

            string_agg 
------------------------------------------------------------------------------------------------------------------ 
<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note> 

또는 동일한 : 동일한 후

enter image description here

:

select string_agg(body,'')::xml from xml; 
관련 문제