質問編集履歴
7
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
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
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
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,9 +52,9 @@
|
|
52
52
|
●テーブルクリエイト文
|
53
53
|
|
54
54
|
```
|
55
|
-
create table
|
55
|
+
create table mst_table (
|
56
56
|
|
57
|
-
|
57
|
+
e_id integer primary key,
|
58
58
|
|
59
59
|
file_no integer default 0 not null,
|
60
60
|
|
3
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
|
-
|
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
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
1
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
|
+
```
|