2017-11-28 9 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; 

ディレクトリはC:\ Program Files \ PostgreSQL \ 9.4 \ dataで、パスに 'ABBATE_EMANUELE.xml'というファイルを挿入します。私は他のファイルを試しましたが、機能しません。Pg_read_fileそのようなファイルまたはディレクトリのエラーはありませんか?

+0

あなたが –

答えて

1

は再生できません。

チェックDIR:

postgres=# show data_directory; 
data_directory 
---------------- 
/pg/d10 
(1 row) 

、今ファイルを作成し、それを読んで:/プログラムファイル/ PostgreSQLの/ 9.4 /:

postgres=# \! echo $(date) > /pg/d10/test 

postgres=# do $$ declare c text; df text := 'test'; 
begin 
c := pg_read_file(df); 
raise info '%', c; 
end; 
$$ 
; 
INFO: Tue Nov 28 09:59:30 UTC 2017 
+0

得る正確なエラーを引用してくださいは、私のデータディレクトリは「Cです「(:/プログラムファイル/ PostgreSQLの/ 9.4 /データ 'C) ' – James

+0

' pg_ls_dirを選択した結果を投稿してください'"pg_hba.confの" "なpg_ident.conf" "pg_log" "pg_logical" "pg_multixact" "pg_notify" "pg_replslot" "pg_serial" "pg_snapshots" 「 "pg_stat_tmp" "pg_stat" pg_subtrans」 "pg_tblspc" "pg_twophase" "PG_VERSION" "pg_xlog内" "postgresql.auto.conf" "postgresql.confの" "postmaster.opts –

+0

"ベース" "グローバル" "pg_clog" "pg_dynshmem"データ – James

関連する問題