質問編集履歴

1

ソース追加

2022/06/01 02:09

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -15,4 +15,33 @@
15
15
  何かPL/pgSQLのファンクションにてファイルへ書き込み、出力が出来る方法をご存じの方がおりましたらアドバイスお願いします!
16
16
  直接テーブルの内容を出力できなくても変数の内容等が出力できれば良いです。(テーブルの内容はカーソルで変数に落とし込めるので...)
17
17
 
18
+ **追記**
19
+ 現在以下のように実行を試みていますが権限関連のエラーが出てしまいます...(対象のtest.txtはフルコントロールにしてあります)
20
+ ```ここに言語を入力
21
+ CREATE OR REPLACE FUNCTION public.TEST(
22
+ IN out_fph text
23
+ ) RETURNS void AS $$
24
+ BEGIN
18
25
 
26
+ EXECUTE '
27
+ COPY (SELECT testcaolumn FROM testtable)
28
+ TO ''' || out_fph || '''
29
+ ' ;
30
+
31
+
32
+ END ; $$ language plpgsql VOLATILE ;
33
+ ```
34
+ ```ここに言語を入力
35
+ SELECT TEST('C:\Users\XXX\test.txt');
36
+ ERROR: could not open file "C:\Users\XXX\test.txt" for writing: Permission denied
37
+ HINT: COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \copy.
38
+ CONTEXT: SQL statement "
39
+ COPY (SELECT testcaolumn FROM testtable)
40
+ TO 'C:\Users\XXX\test.txt''
41
+ "
42
+ PL/pgSQL function TEST(text) line 5 at EXECUTE
43
+ ```
44
+ 【参考】
45
+ http://kenpg.seesaa.net/article/368394111.html
46
+
47
+