質問編集履歴
4
試したことを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -46,11 +46,27 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
-
・
|
49
|
+
・\dでは以下のように表示されています。
|
50
50
|
|
51
|
+
public | Table_A | 外部テーブル | ユーザA
|
52
|
+
|
51
|
-
|
53
|
+
public | Table_B | テーブル | ユーザA
|
52
54
|
|
53
55
|
|
56
|
+
|
57
|
+
・\d Table_Aは結果を正しく取得できました。
|
58
|
+
|
59
|
+
・外部テーブルでないTable_B へのselectは可能でした。
|
60
|
+
|
61
|
+
・\zで確認したところ他のテーブルと同じアクセス権はついていました。
|
62
|
+
|
63
|
+
public | Table_A | 外部テーブル | ユーザA=arwdDxt/DB_A+|
|
64
|
+
|
65
|
+
| | | ユーザB=r/DB_A |
|
66
|
+
|
67
|
+
public | Table_B | テーブル | ユーザA=arwdDxt/DB_A+|
|
68
|
+
|
69
|
+
| | | ユーザB=r/DB_A
|
54
70
|
|
55
71
|
・select * from "ユーザA".Table_Aで検索したところ以下のエラーが発生
|
56
72
|
|
3
タイトルを編集
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
別ユーザの外部テーブルを参照したい。
|
test
CHANGED
File without changes
|
2
外部テーブルについて説明を補足 試したSQLを追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
### 前提・実現したいこと ユーザAが作成したDBのDB_Aの外部テーブルをTable_AをユーザBで参照(select)したい。 外部テーブルはユーザAで「CREATE FOREIGN TABL
|
test
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
ユーザAが作成したDBのDB_Aの外部テーブルをTable_AをユーザBで参照(select)したい。
|
6
|
+
|
7
|
+
外部テーブルはユーザAで「CREATE FOREIGN TABLE」を使い作成しています。
|
8
|
+
|
9
|
+
外部テーブルの参照先の外部DBは別マシンの別DBです
|
6
10
|
|
7
11
|
|
8
12
|
|
@@ -34,6 +38,10 @@
|
|
34
38
|
|
35
39
|
|
36
40
|
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
37
45
|
### 試したこと
|
38
46
|
|
39
47
|
|
@@ -44,6 +52,16 @@
|
|
44
52
|
|
45
53
|
|
46
54
|
|
55
|
+
・select * from "ユーザA".Table_Aで検索したところ以下のエラーが発生
|
56
|
+
|
57
|
+
ERROR:リレーション""ユーザA".table_a"は存在しません
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
select * from "ユーザA".public.table_aで検索したところ以下のエラー
|
62
|
+
|
63
|
+
ERROR: データベース間の参照は実装されていません:
|
64
|
+
|
47
65
|
|
48
66
|
|
49
67
|
### 補足情報(FW/ツールのバージョンなど)
|
1
実施行ったSQLを追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,9 +6,17 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
ユーザBのロールを作成して
|
9
|
+
ユーザBのロールを作成して以下のSQLを発行し権限を付与
|
10
|
+
|
11
|
+
GRANT SELECT ON ALL TABLES IN SCHEMA public To 【ユーザB】;」
|
12
|
+
|
13
|
+
※【ユーザB】の箇所は実際のユーザ名
|
14
|
+
|
15
|
+
|
10
16
|
|
11
17
|
selectしたところ以下のエラーメッセージが発生しました。
|
18
|
+
|
19
|
+
select * from Table_A
|
12
20
|
|
13
21
|
|
14
22
|
|