DB/PostgreSQL †
DB初期構築 †
DBユーザー作成 †
# useradd <UserName>
# su - postgres
$ createuser -a -d -U <UserName> -P
オプション | 説明 |
-a | 新しいPostgreSQLユーザは、他のユーザを作成可能 |
-d | 新しいPostgreSQLユーザは、データベースの作成可能 |
-D | 接続ユーザ名。PostgreSQLに接続するユーザ名を指定する |
-P | 新しいPostgreSQLユーザのパスワードを設定する |
DB作成 †
$ createdb -E EUC-JP -O <UserName> -U <UserName> <DB名>
オプション | 説明 |
-E | 作成するデータベース内で使用する文字エンコード方式を指定(EUC-JP/UTF-8) |
-O | 作成するデータベースの所有者となるユーザを指定 |
-U | PostgreSQLに接続するユーザ名を指定 |
DBバックアップ †
$ pg_dump --file=ファイル名
DB再作成 †
$ pg_ctl stop
DBのデータが格納されているディレクトリを全て削除する
$ initdb
$ pg_ctl start
$ psql <UserName> < バックアップしたDMPファイル
psqlコマンド †
DB一覧(文字コードの確認) †
$ psql -l
DB接続 †
$ psql -h <ホスト名> [-U ユーザー名] [-d DB名]
※ デフォルトのDB名は postgres
sqlファイルを一括実行 †
$ psql -f <SQLファイル> -U <UserName> <DB名>
DB操作 †
psqlコマンド †
コマンド | 説明 |
\h | SQLコマンドのヘルプを表示 |
\? | psqlコマンドのヘルプを表示 |
\q | DBから抜ける |
\p | クエリーバッファの内容を表示 |
\o [ファイル] | すべてのクエリーの結果をファイルに出力する |
\d[S+] | テーブル、ビュー、シーケンスの一覧を表示 |
\d[S+] [TBL名] | テーブル、ビュー、シーケンス、インデックスの説明(カラム表示)TABLE名は*も使用可能 |
\cd [DIR] | カレントディレクトリを変更 |
\! [コマンド] | シェルでコマンドを実行、もしくは会話型シェルを起動 |
DB作成 †
CREATE DATABASE "dsm";
CREATE ROLE "dsmadmin" WITH LOGIN PASSWORD 'P0ssw0rd';
GRANT ALL ON DATABASE "dsm" TO "dsmadmin";
GRANT CONNECT ON DATABASE "dsm" TO "dsmadmin";
システムカタログ †
PostgreSQLの情報を保持しているテーブルで、pg_ で始まる
詳細は公式のマニュアル(システムカタログ)参照
http://www.postgresql.jp/document/9.1/html/catalogs.html