teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

2018/10/18 04:50

投稿

salmonzushi
salmonzushi

スコア8

title CHANGED
File without changes
body CHANGED
@@ -22,7 +22,7 @@
22
22
  ご指摘の通りユーザにUPDATE権限がなかったので追加しましたが、エラー内容は変わりませんでした。
23
23
 
24
24
 
25
- 使用ユーザの作成テーブルの権限はUPDATEとINSERTです。
25
+ 使用ユーザの作成テーブルの権限はUPDATEとINSERTです。
26
26
 
27
27
 
28
28
  ●関数(スーバーユーザで実行)

6

2018/10/18 04:50

投稿

salmonzushi
salmonzushi

スコア8

title CHANGED
File without changes
body CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  ### 追記
19
19
 
20
- コピペできない環境だったので、情報量の少ない質問になってしまい、申し訳なかったです。
20
+ コピペできない環境だったので、情報量の少ない質問になってしまい、申し訳なかったです。
21
21
 
22
22
  ご指摘の通りユーザにUPDATE権限がなかったので追加しましたが、エラー内容は変わりませんでした。
23
23
 

5

2018/10/18 04:48

投稿

salmonzushi
salmonzushi

スコア8

title CHANGED
File without changes
body CHANGED
@@ -63,4 +63,30 @@
63
63
  file_data bytea
64
64
  );
65
65
 
66
+ ```
67
+
68
+ ●一般ユーザでpsqlから下記を実行
69
+
70
+ ```
71
+ database=> INSERT INTO mst_table (e_id, file_no, file_name, file_data)
72
+
73
+ database-> SELECT
74
+
75
+ database-> nextval('seq_id'),
76
+
77
+ database-> nextval('seq_no'),
78
+
79
+ database-> 'file.jpg',
80
+
81
+ database-> bytea_import('/home/appuser/tool/images/file.jpg');
82
+
83
+ ERROR: must be superuser to use server-side lo_import()
84
+
85
+ HINT: Anyone can use the client-side lo_import() provided by libpq.
86
+
87
+ CONTEXT: SQL statement "select lo_import(p_path)"
88
+
89
+ PL/pgSQL function bytea_import(text) line 5 at SQL statement
90
+
91
+ database=>
66
92
  ```

4

2018/10/18 04:29

投稿

salmonzushi
salmonzushi

スコア8

title CHANGED
File without changes
body CHANGED
@@ -52,9 +52,9 @@
52
52
  ●テーブルクリエイト文
53
53
 
54
54
  ```
55
- create table mst_cd_image (
55
+ create table mst_table (
56
56
 
57
- experiment_id integer primary key,
57
+ e_id integer primary key,
58
58
 
59
59
  file_no integer default 0 not null,
60
60
 

3

2018/10/18 04:26

投稿

salmonzushi
salmonzushi

スコア8

title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,7 @@
15
15
  DBサーバ CentOS7
16
16
 
17
17
 
18
- 追記
18
+ ### 追記
19
19
 
20
20
  コピペできない環境にだったので、情報量の少ない質問になってしまい、申し訳なかったです。
21
21
 
@@ -49,49 +49,18 @@
49
49
 
50
50
  ```
51
51
 
52
- ●テーブル
52
+ ●テーブルクリエイト文
53
- ```
54
- 列 | 型 | 修飾語
55
53
 
56
- ---------------+---------+--------------------
57
-
58
- e_id | integer | not null
59
-
60
- file_no | integer | not null default 0
61
-
62
- file_name | text |
63
-
64
- file_data | bytea |
65
-
66
- インデックス:
67
-
68
- "mst_table_pkey" PRIMARY KEY, btree (e_id)
69
54
  ```
55
+ create table mst_cd_image (
70
56
 
57
+ experiment_id integer primary key,
71
58
 
72
- ●一般ユーザでpsqlから下記を実行
59
+ file_no integer default 0 not null,
73
60
 
61
+ file_name text ,
74
62
 
63
+ file_data bytea
75
- ```
64
+ );
76
- database=> INSERT INTO mst_table (e_id, file_no, file_name, file_data)
77
65
 
78
- database-> SELECT
79
-
80
- database-> nextval('seq_id'),
81
-
82
- database-> nextval('seq_no'),
83
-
84
- database-> 'file.jpg',
85
-
86
- database-> bytea_import('/home/appuser/tool/images/file.jpg');
87
-
88
- ERROR: must be superuser to use server-side lo_import()
89
-
90
- HINT: Anyone can use the client-side lo_import() provided by libpq.
91
-
92
- CONTEXT: SQL statement "select lo_import(p_path)"
93
-
94
- PL/pgSQL function bytea_import(text) line 5 at SQL statement
95
-
96
- database=>
97
66
  ```

2

2018/10/18 04:25

投稿

salmonzushi
salmonzushi

スコア8

title CHANGED
File without changes
body CHANGED
File without changes

1

2018/10/18 04:12

投稿

salmonzushi
salmonzushi

スコア8

title CHANGED
File without changes
body CHANGED
@@ -12,4 +12,86 @@
12
12
  ### 補足情報(FW/ツールのバージョンなど)
13
13
 
14
14
  PostgreSQL 9.2.4
15
- DBサーバ CentOS7
15
+ DBサーバ CentOS7
16
+
17
+
18
+ 追記
19
+
20
+ コピペできない環境にだったので、情報量の少ない質問になってしまい、申し訳なかったです。
21
+
22
+ ご指摘の通りユーザにUPDATE権限がなかったので追加しましたが、エラー内容は変わりませんでした。
23
+
24
+
25
+ 使用ユーザの作成テーブルの権限はUPDATEとINSERTです。
26
+
27
+
28
+ ●関数(スーバーユーザで実行)
29
+
30
+
31
+ ```
32
+ create or replace function bytea_import(p_path text, p_result out bytea)
33
+
34
+ language plpgsql as $$
35
+
36
+ declare
37
+
38
+ l_oid oid;
39
+
40
+ begin
41
+
42
+ select lo_import(p_path) into l_oid;
43
+
44
+ select lo_get(l_oid) INTO p_result;
45
+
46
+ perform lo_unlink(l_oid);
47
+
48
+ end;$$;
49
+
50
+ ```
51
+
52
+ ●テーブル
53
+ ```
54
+ 列 | 型 | 修飾語
55
+
56
+ ---------------+---------+--------------------
57
+
58
+ e_id | integer | not null
59
+
60
+ file_no | integer | not null default 0
61
+
62
+ file_name | text |
63
+
64
+ file_data | bytea |
65
+
66
+ インデックス:
67
+
68
+ "mst_table_pkey" PRIMARY KEY, btree (e_id)
69
+ ```
70
+
71
+
72
+ ●一般ユーザでpsqlから下記を実行
73
+
74
+
75
+ ```
76
+ database=> INSERT INTO mst_table (e_id, file_no, file_name, file_data)
77
+
78
+ database-> SELECT
79
+
80
+ database-> nextval('seq_id'),
81
+
82
+ database-> nextval('seq_no'),
83
+
84
+ database-> 'file.jpg',
85
+
86
+ database-> bytea_import('/home/appuser/tool/images/file.jpg');
87
+
88
+ ERROR: must be superuser to use server-side lo_import()
89
+
90
+ HINT: Anyone can use the client-side lo_import() provided by libpq.
91
+
92
+ CONTEXT: SQL statement "select lo_import(p_path)"
93
+
94
+ PL/pgSQL function bytea_import(text) line 5 at SQL statement
95
+
96
+ database=>
97
+ ```