7.基本的な運用管理【OSS DB exam Silver】

OSSsilver

現在OSS-DB Silver Ver.2を勉強中のサイト主です。

OSS DB Silverを本で勉強していても図にしないとわからなかったり、表にしたほうが分かりやすいこともあります。そのため、自分が覚えにくいと思ったこと、混同しやすいことをまとめています。書いてあることは常識なことかもしれませんが私がわからなかったことをまとめています。

勉強法などは下記に記載しています。

OSS DB Silverを取得するためにやったこと

OSS DB exam Silverの勉強内容

  1. オープンソースデータベースの一般的特徴
  2. データベースの基礎知識
  3. インストール
  4. 標準付属ツール
  5. 設定ファイル
  6. バックアップとリストア
  7. 基本的な運用管理⇦今日はこれ!
  8. SQLとオブジェクト
  9. 組み込み関数と演算子
  10. トランザクション

基本的な運用管理

pg_settingsビュー

contextカラムからはパラメータ値の反映に必要な操作が読み取れます。主な値は以下の通り。

  •  internal … データベースクラスタの構築後は変更できない
  •  postmaster … PostgreSQLサーバの起動・再起動
  •  sighup … 「postgresql.conf」の再読み込み
  •  superuser-backend … スーパーユーザで新しいセッションを開始
  •  backend … 一般ユーザで新しいセッションを開始
  •  superuser … スーパーユーザでSETコマンド実行
  •  user … 一般ユーザでSETコマンド実行

データベースユーザーの追加・削除・変更

  • VUCUUM、ANALYZE
  • VACUUM [FULL] [VERBOSE] [テーブル名]
  • VACUUM ANALYZE [テーブル名]

システム情報取得関数

  • Version()
  • current_database()
  • current_user 
  • user

情報スキーマ

information_schema

システムログ

  • pg_roles
  • pg_authid

テーブル単位の権限

GRANT文:テーブルの権限を設定する

  • GRANT{{SELECT | INSERT| UPDATE| DELETE| TRUNCATE| REFERENCES| TRIGGER}[,…] ALL [PRIVILEGES]}
  •              ON {[TABLE] テーブル名 [,…] }
  •              TO {ユーザ名 | PUBLIC}[,…] [WITH GRANT OPTION]

REVOKE文:テーブルに設定されたアクセス権限を取り消す

  • REVOKE{{SELECT | INSERT| UPDATE| DELETE| TRUNCATE| REFERENCES| TRIGGER}[,…] ALL [PRIVILEGES]}
  •              ON {[TABLE] テーブル名 [,…] }
  •              FROM {ユーザ名 | PUBLIC}[,…] 

GRANTとREVOKEで権限を設定できるもの

  • SELECTとCOPY TOの実行を許可する(SELECT)
  • INSERTとCOPY FROMの実行を許可する(INSERT)
  • UPDATEの実行を許可する(UPDATE)
  • DELETEの実行を許可する(DELETE)
  • TRUNCATEの実行(テーブルの全データを高速で削除)を許可する(TRUNCATE)
  • 外部キー制約を作成することを許可する(REFERENCES)
  • トリガーの作成を許可する(TRIGGER)
  • データベースへの接続を許可する(CONNECT)
  • データベースに対するスキーマの作成を許可する(CREATE)
  • スキーマに対するオブジェクトの作成を許可する(CREATE)

\dp または \z テーブル権限の確認

各テーブルのアクセス権限を設定できる

所感

権限がデータベースなのかテーブルなのかで違いがあります。それに気づかずひとまとめにしてしまったので間違いが発生しました。どう違うのか図表にするのをおすすめします。