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

回答編集履歴

4

加筆修正

2018/08/16 05:52

投稿

退会済みユーザー
answer CHANGED
@@ -35,4 +35,9 @@
35
35
  INSERT INTO PUBLIC.TRN_AUTOCAD( column_a, column_b, column_c, column_d, column_e, column_f, column_g, column_h, column_i )
36
36
  VALUES ('1-00-4467', 1026, 1043, 1, 1000, 250, 30, '要確認', '1-00-4467102610431');
37
37
  ```
38
- みたいに指定したほうが間違いないです。
38
+ みたいに指定したほうが間違いないです。
39
+
40
+ pgAdmin4利用時のユーザーを切り替えるには、
41
+ ![イメージ説明](a2cad7ff8ae4aad542a30c03ad47cdcd.png)
42
+ 画像に示す箇所でサーバーから切断した後、
43
+ プロパティにて接続に使うユーザー名を設定しなおせばよいです。

3

加筆修正

2018/08/16 05:52

投稿

退会済みユーザー
answer CHANGED
@@ -23,4 +23,16 @@
23
23
  スーパーユーザー権限はつけてはいけません。
24
24
  ミスでデータベースを壊す可能性がありますので、
25
25
  権限付与は最小限で。
26
- ![イメージ説明](506951592e1e127f0db52d8b3549e60b.png)
26
+ ![イメージ説明](506951592e1e127f0db52d8b3549e60b.png)
27
+
28
+ ついでに文法。
29
+ ```
30
+ INSERT INTO PUBLIC.TRN_AUTOCAD VALUES ('1-00-4467', 1026, 1043, 1, 1000, 250, 30, '要確認', '1-00-4467102610431');
31
+ ```
32
+ テーブルのすべてのカラムに定義順通りに値を格納するのであれば良さそうに見えるけど、
33
+ もしもカラムを省略したり順序が入れ替わっているなら
34
+ ```
35
+ INSERT INTO PUBLIC.TRN_AUTOCAD( column_a, column_b, column_c, column_d, column_e, column_f, column_g, column_h, column_i )
36
+ VALUES ('1-00-4467', 1026, 1043, 1, 1000, 250, 30, '要確認', '1-00-4467102610431');
37
+ ```
38
+ みたいに指定したほうが間違いないです。

2

加筆修正

2018/08/16 04:09

投稿

退会済みユーザー
answer CHANGED
@@ -10,4 +10,17 @@
10
10
  ユーザーは特定のロールに属していて、
11
11
  ロールそれぞれに対してどのスキーマのどの要素にどういうアクセスを許可するかを管理しています。
12
12
  pgAdmin4なら、Serversのすぐ下、ログイン/グループロールのところで状況を確認できますので、
13
- 不足の権限を与えるようにしてください。
13
+ 不足の権限を与えるようにしてください。
14
+
15
+ 加えて、pgAdmin4で、
16
+ データベース→スキーマ→publicなどとたどると、
17
+ そのスキーマにアクセスできるユーザーの権限が見えます。
18
+ (むしろこっちが大事でした。)
19
+ postgresユーザーなどスーパーユーザーでデータベースにログインしないと、
20
+ この設定は変更できないので注意です。
21
+
22
+ なお、アプリなどから接続するときのユーザーに、
23
+ スーパーユーザー権限はつけてはいけません。
24
+ ミスでデータベースを壊す可能性がありますので、
25
+ 権限付与は最小限で。
26
+ ![イメージ説明](506951592e1e127f0db52d8b3549e60b.png)

1

加筆修正

2018/08/16 02:51

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,13 @@
1
1
  ![pgAdmin4](f31aaa972275d16188f3b45d92d32678.png)
2
2
  pgAdmin4のツールの中に、クエリツールがありますよ。
3
- (まずはそこだけ。)
3
+ (まずはそこだけ。)
4
+
5
+ それと、テーブルが見つからない件は、
6
+ テーブルなどスキーマを作成したユーザーと
7
+ VBAからアクセスするユーザーが食い違うときに、
8
+ ユーザーの権限不足で起こりがちです。
9
+ [21.3. ロールのメンバ資格](https://www.postgresql.jp/document/9.6/html/role-membership.html)
10
+ ユーザーは特定のロールに属していて、
11
+ ロールそれぞれに対してどのスキーマのどの要素にどういうアクセスを許可するかを管理しています。
12
+ pgAdmin4なら、Serversのすぐ下、ログイン/グループロールのところで状況を確認できますので、
13
+ 不足の権限を与えるようにしてください。