この時点でPostgresは正常に稼働していると 仮定し、ここからは実際にデータベースを作成し、データベースを 管理する時の基本的なコマンドを紹介します。
ほとんどのPostgresアプリケーションは、 データベース名が特に指定されてなければ、コンピュータの アカウント名と同じものをデータベース名とします。
データベース管理者が、あるアカウントにデータベース作成権限を 与えていない場合は、そのデータベース管理者は使用するデータベース名を そのアカウントのユーザに知らせる必要があります。この場合、 データベースの作成/削除のセクションは読み飛ばして下さい。
mydbという名前のデータベースを 作成したいとします。この場合、下記のコマンドで作成 することができます。
% createdb mydb
データベースを作成する権限がない場合、下記のような メッセージが表示されます。
% createdb mydb NOTICE:user "your username" is not allowed to create/destroy databases createdb: database creation failed on mydb.
Postgresではデータベース数の作成制限は ありません。また、データベースを作成した人がそのデータベースの 管理者となります。データベース名は、必ずアルファベットから 始まり、32文字以内である必要があります。すべてのユーザは データベース管理者の権限を持っているのではなく、もし 作成しようとしてもPostgresが 拒否した場合は、サイト管理者から、データベースを作成できる 権限を与えてもらって下さい。この場合は、サイト管理者に 問い合わせて下さい。
データベースを作成できたら、下記の方法でそのデータベースと 接続します。
Postgresターミナルモニタプログラム (psqlなど)を起動させ、 SQLコマンドを使って対話的に入力、編集、実行する。
pgaccessや (ODBCを使った)ApplixWare などの、既存ツールを使用してデータベースを作成/操作する。
perlやtclのような、Postgresで サポートされているインターフェース言語を使用する。これらの 言語の中には便利で、強力なGUIツールキットが用意されているものも あり、カスタムアプリケーションを作成するのを補助するものが あります。例えば、上記で説明されたpgaccessは tk/tclで書かれたアプリケーションツールで、例として使用できます。
LIBPQのサブルーチンライブラリを使用してC言語 プログラムを書く。この方法は、C言語から SQLコマンドを発行し、結果とステータス メッセージをプログラムに返します。このインターフェースは プログラマガイド(The PostgreSQL Programmer's Guide) で詳しく書かれています。
% 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は、セミコロンで終了している 問い合わせは自動的に実行します。ファイルから問い合わせを読み込む 場合は、対話的にそれらを入力するのではなく、下記のように 入力します。
mydb=> \i fileNamepsqlを終了させ、Unixに戻るには、 下記のコマンドを実行します。
mydb=> \qpsqlは終了し、コマンドシェルに戻ります。 (その他のエスケープコードに関しては、モニタープロンプトで \hを実行して下さい)。スペースやタブ、改行などの 空白はSQL問い合わせ内で自由に使用することができます。 1行のコメントは"--"を使用します。 そのハイフンから行の最後までを無視します。複数行に渡るコメントや 行内の部分的なコメントには"/* ... */"を 使用します。
データベースの削除はそのデータベースの管理者のみが行えます。 例えば、mydbという名のデータベースの管理者が、 そのデータベースを削除したい場合には、下記のコマンドを 入力して削除することができます。
% dropdb mydbこれは、このデータベースと関連のあったすべてのUnixファイルを 物理的に削除してしまいます。したがって、この作業を一度行ったら、 元の状態に戻すことはできませんので、実行する際には細心の 注意を払って下さい。