*[[DB]]/PostgreSQL [#df83e404]
-[[DB初期構築>#p669be50]]
-[[DB再作成>#h464bd5c]]
-[[psqlコマンド>#gf85fb7f]]
-[[DB操作>#of7fa223]]
-[[システムカタログ>#r23568d4]]


**DB初期構築 [#p669be50]
***DBユーザー作成 [#c715b46e]
 # useradd <UserName>
 # su - postgres

 $ createuser -a -d -U <UserName> -P
|BGCOLOR(#f0f8ff):CENTER:オプション|BGCOLOR(#f0f8ff):CENTER:説明|
|-a|新しいPostgreSQLユーザは、他のユーザを作成可能|
|-d|新しいPostgreSQLユーザは、データベースの作成可能|
|-D|接続ユーザ名。PostgreSQLに接続するユーザ名を指定する|
|-P|新しいPostgreSQLユーザのパスワードを設定する|

***DB作成 [#f12d9586]
 $ createdb -E EUC-JP -O <UserName> -U <UserName> <DB名>
|BGCOLOR(#f0f8ff):CENTER:オプション|BGCOLOR(#f0f8ff):CENTER:説明|
|-E|作成するデータベース内で使用する文字エンコード方式を指定(EUC-JP/UTF-8)|
|-O|作成するデータベースの所有者となるユーザを指定|
|-U|PostgreSQLに接続するユーザ名を指定|

***DBバックアップ [#l5f55968]
 $ pg_dump --file=ファイル名
~


**DB再作成 [#h464bd5c]
 $ pg_ctl stop
DBのデータが格納されているディレクトリを全て削除する
 $ initdb
 $ pg_ctl start
 $ psql <UserName> < バックアップしたDMPファイル
~


**psqlコマンド [#gf85fb7f]
***DB一覧(文字コードの確認) [#c52c190b]
 $ psql -l

***DB接続 [#m7b54a8f]
 $ psql -h <ホスト名> [-U ユーザー名] [-d DB名]
 ※ デフォルトのDB名は postgres

***sqlファイルを一括実行 [#m1ba65df]
 $ psql -f <SQLファイル> -U <UserName> <DB名>
~


**DB操作 [#of7fa223]
***psqlコマンド [#d1bc3423]
|BGCOLOR(#f0f8ff):CENTER:コマンド|BGCOLOR(#f0f8ff):CENTER:説明|
|\h|SQLコマンドのヘルプを表示|
|\?|psqlコマンドのヘルプを表示|
|\q|DBから抜ける|
|\p|クエリーバッファの内容を表示|
|\o [ファイル] |すべてのクエリーの結果をファイルに出力する|
|\d[S+]|テーブル、ビュー、シーケンスの一覧を表示|
|\d[S+] [TBL名]|テーブル、ビュー、シーケンス、インデックスの説明(カラム表示)TABLE名は*も使用可能|
|\cd [DIR]|カレントディレクトリを変更|
|\! [コマンド]|シェルでコマンドを実行、もしくは会話型シェルを起動|
~

***DB作成 [#se6feece]
 CREATE DATABASE "dsm";
 CREATE ROLE "dsmadmin" WITH LOGIN PASSWORD 'P0ssw0rd';
 GRANT ALL ON DATABASE "dsmadmin" TO "dsmadmin";
 GRANT CONNECT ON DATABASE "dsmadmin" TO "dsmadmin";
 GRANT ALL ON DATABASE "dsm" TO "dsmadmin";
 GRANT CONNECT ON DATABASE "dsm" TO "dsmadmin";



**システムカタログ [#r23568d4]
PostgreSQLの情報を保持しているテーブルで、pg_ で始まる~
詳細は公式のマニュアル(システムカタログ)参照~
http://www.postgresql.jp/document/9.1/html/catalogs.html

トップ   編集 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS