PostgreSQL
PrevChapter 3. スタートNext

データベースの管理

これで Postgres が立ち上がって走っているので、 実験するデータベースを作ることができます。 ここでデータベースを管理する基本コマンドを説明します。

多くの Postgres のアプリケーションは 指定されなければ、 データベース名があなたのコンピュータアカウントの名前と同じであると推測します。

もしデータベース管理者があなたのアカウントをデータベースの作成権限なしにセットアップしたなら、 あなたのデータベースの名前を伝えているでしょう。 もしこのようなケースでしたら、 データベースの作成と削除の節をスキップして構いません。

データベースの作成

mydb という名前のデータベースを作りたいとします。 こrは次にのコマンドでできます:

% createdb mydb

もしデータベースの作成に必要な権限を持っていないとすると、 次のようなメッセージを見るでしょう:

% createdb mydb
WARN:user "your username" is not allowed to create/destroy databases
createdb: database creation failed on mydb.

Postgres は与えられたサイトに いくつでもデータベースを作ることができ、 あなたが作ったデータベースのデータベース管理者は自動的にあなたになります。 データベースの名前はアルファベットで始まる文字で 32文字までの長さに制限されています。 [訳注: 日本語のファイル名がサポートされているプラットフォームではアルファベットである 必要はありません。] すべてのユーザがデータベース管理者になれる権限を持っているわけではありません。 もし Postgres がデータベースの作成を拒否したら、 サイト管理者があなたにデータベースの作成権限を与える必要があります。 もしこれが起こったら、サイト管理者に相談してみてください。

データベースのアクセス

データベースを作ると、次の方法でアクセスすることができます:

このマニュアルの例を試すために psql をスタートさせてみたいでしょう。 mydb データベースに対して作動させるには、 次のようなコマンドをタイプします:
% psql mydb
次のメッセージの挨拶があります:
Welcome to the POSTGRESQL interactive sql monitor:
  Please read the file COPYRIGHT for copyright terms of POSTGRESQL

   type \? for help on slash commands
   type \q to quit
   type \g or terminate with semicolon to execute query
 You are currently connected to the database: template1

mydb=>

このプロンプトは、 ターミナルモニタがあなたの入力を待ち、 ターミナルモニタの整備するワークスペースに SQL の問い合わせをタイプすることができることを示します。 psql プログラムは バックスラッシュ文字 “\” で始まるエスケープコードに応答します。 例えば、Postgres SQLコマンドの 文法のヘルプが、次のようにタイプすることで得られます:

mydb=> \h
ワークスペースへの問い合わせの入力が終了したら、 ワークスペースの内容を Postgres サーバに 次のようにタイプして渡すことができます:
mydb=> \g
これはサーバに問い合わせを処理しろと伝えます。 問い合わせをセミコロンで終端させると、 “\g” は必要ではありません。 psql は自動的にセミコロンで終端した問い合わせを処理します。 対話的に入力するかわりに 問い合わせをファイル(myFile としましょう)から読み込む場合には、 次のようにタイプしてください:
mydb=> \i fileName
psql から抜けて UNIX に戻るには、
mydb=> \q
とタイプすると、 psql は終了してコマンドシェルに戻ります。 (他のエスケープコードについては、モニタのプロンプトで \h とタイプしてみてください。) 空白(すなわち、スペース、タブ、改行)は SQL 問い合わせの中で自由に使うことができます。 一行のコメントは “--” で表します。 ダッシュの後の行の最後まではすべて無視されます。 複数行のコメントと、行の中にいれるコメントは “/* ... */” で表します。

データベースの削除

データベースmydbのデータベース管理者なら、 次の UNIX コマンドでそれを削除することができます。

% destroydb mydb
このアクションはデータベースに関連するすべてのUNIX ファイルを削除し、 とりやめることはできませんので、 これは充分な注意を払って行ってください。


PrevHomeNext
対話的モニタ(psql)のスタートUp問い合わせ言語