4.標準付属ツール【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. トランザクション

標準付属ツール

【Part3】OSS DB Exam Silver 技術解説セミナー ~ PostgreSQL 基本操作 (起動/停止、ユーザ作成、データベース作成、psql)~

psql

プロンプト
「=#」…接続しているユーザはスーパーユーザー
「=>」…接続しているユーザは一般ユーザ
2行目以降は
「-#」「→」

SQLの発行

  • 「;」でSQLの終わり、コメントは「–」
  • SQL構文中の空白、タブ、改行はいくらしても空白の一つとして扱われる
  • SQL構文の大文字・小文字は区別されない、日本語も可
  • Linuxでは「Ctrl-c」で入力キャンセル
  • psqlの終了方法…「¥q」または「ctrl-d」(Linux)

共通オプション

・pg_ctl

PostgreSQLの起動・停止・状態確認などに使う管理ツール

・pg_ctl initdb

initdbを呼び出して指定のディレクトリにデータベースクラスタを作成する

・pg_ctl start

バックグラウンドでPostrreSQLを起動する

・pg_ctl stop

smart mode 全クライアントの接続終了を待つ
fast mode 直ちに終了
immediate mote 適切な終了処理をせず直ちに終了

・pg_ctl restart

稼働中のSQLを停止し、再び稼働する

・pg_ctl reload

設定ファイルを読みこみさせます

・pg_ctl status

マスタプロセスのプロセスIDが表示される

・pg_ctl kill

プロセスにシグナルを送信する

シグナル 効果
TERM スマートシャットダウンで停止する
INT 高速シャットダウンで停止する
QUIT 即時シャットダウンで停止する
HUP 設定ファイルを再読み込みさせる

・createuser

データベースユーザを作成する

オプション 説明
-P パスワードを設定する
-s スーパーユーザー権限を設定する
-S スーパーユーザー権限を設定しない(デフォ)
-d データベースの作成権限を設定する
-D データベースの作成権限を設定しない(デフォ)
-r ユーザの作成権限を設定する
-R ユーザの作成権限を設定しない(デフォ)
-l ログイン権限を設定する
-L ログイン権限を設定しない(デフォ)
–interactive 対話的に設定する場合に指定
-e,–echo createuserが実行したSQLを出力

・dropuser

データベースユーザを削除する

・createdb

データベースを作成する

オプション 説明
-E データベースのエンコーディングを指定する
-l データベースのロケールを指定する
-O データベースの所有者となるユーザを指定する
-T テンプレートデータベースを指定する

・dropdb

データベースを削除する

・psql

接続と切断

オプション 説明
-L データベース一覧を表示し、psqlを終了する。メタコマンド\lと同じ効果
-c 指定したコマンドを実行する、psqlを終了する
-f 指定したファイルからコマンドを読み込み実行する、psqlを終了する
-d 接続するデータベースの名前を指定する。-dを省略した場合は最初の引数がdbnameとして扱われる

・メタコマンド

メタコマンド 説明
\q PostgreSQL 終了
\l 作成されているデータベースの一覧を取得する
\d トリガーを含むテーブル定義を表示
\du ユーザリスト表示・ロール一覧を表示
\dn スキーマ一覧を表示
\dt データ型一覧を表示
\dv ビュー一覧を表示
\ds テーブル一覧を表示
\dp テーブル、ビュー、シーケンスのアクセス権一覧を表示
\z テーブル、ビュー、シーケンスのアクセス権一覧を表示
\c 別のデータベースに接続することができる
\x 拡張表示。出力結果が長すぎて表示が崩れてしまう場合、このコマンドで縦型表示に変更して見た目を整えることができる
\? psql コマンドの一覧と使い方が表示される
\h SQL のヘルプが出てくる

所感

共通オプションが重要な章でした。pg_ctl stopとpg_ctl killが共通していることを最初は知らず問題を間違えました。共通で別のオプションがあるものや似ているけれど別の機能のあるオプションと混同していたので考える際にお気をつけください。