ここでは「PostgreSQL」をコマンドラインから直接操作する方法を紹介します。
DBサーバーをインストールした後、CGIなどのWebアプリケーションからDBを利用するためには、以下の手順で ユーザーの作成 と データベースの作成 をする必要があります。
PostgreSQLに接続するユーザーを作成します。ここでいうユーザーとは、PostgreSQLを利用するユーザー(接続アカウント)であり、Linuxのユーザーとは異なります。
シェルでユーザーを作成するには、以下のコマンドを使います。
$ createuser ユーザー名
ユーザー名を省略すると、OSのログイン名でユーザーが作成されます。
原則としてスーパーユーザー以外には「ユーザー作成権限」を与えません。
Shall the new user be allowed to create more new users? (y/n)
には n と入力します。
$ createuser -P ユーザー名
$ dropuser ユーザー名
$ createdb データベース名
「CREATE DATABASE」と表示されれば成功です。データベース名を省略すると、OSのログイン名でデータベースが作成されます。
$ createdb データベース名 -O ユーザー名
$ dropdb データベース名
ここでいうデータベースは、Excelでいうところのファイルに近いもので、ひとつの目的のために作られるテーブル(Excelでいうところのシート)をまとめたものです。 最初にデータベースを作成し、その中にテーブルを作り、テーブルにデータを格納することで、データベースを構築します。
SQLによるデータベース操作を行なうためのツールが psql です。以下のコマンドで起動します。
$ psql
通常は以下のように、データベース名を指定して起動します。
$ psql データベース名
パスワード付きでユーザーを指定して起動する場合は以下の通り。
$ psql データベース名 -U ユーザー名 -W
起動すると、以下のように表示されます。(例)
Welcome to psql 7.4.5, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit postgres=>
「postgres=>」をプロンプトといいます。プロンプトに続いて、SQLによる命令文を入力して、PostgreSQLを操作します。
この操作のことを、「SQL文を発行する」といいます。
psql のプロンプトで使える特別なコマンドに、メタコマンド(バックスラッシュコマンド)があり、覚えておくと非常に便利です。バックスラッシュ(¥や\)に続けて入力します。
postgres=> \d
postgres=> \d テーブル名
postgres=> \?
postgres=> \q
その他一般の操作はすべてSQL文により行なえます。