Postgresql

PostgreSQLデータベースのコマンド

 ここでは「PostgreSQL」をコマンドラインから直接操作する方法を紹介します。

 DBサーバーをインストールした後、CGIなどのWebアプリケーションからDBを利用するためには、以下の手順で ユーザーの作成 と データベースの作成 をする必要があります。

PostgreSQLのユーザー作成

 PostgreSQLに接続するユーザーを作成します。ここでいうユーザーとは、PostgreSQLを利用するユーザー(接続アカウント)であり、Linuxのユーザーとは異なります。

 シェルでユーザーを作成するには、以下のコマンドを使います。

$ createuser ユーザー名

 ユーザー名を省略すると、OSのログイン名でユーザーが作成されます。

 原則としてスーパーユーザー以外には「ユーザー作成権限」を与えません。

  Shall the new user be allowed to create more new users? (y/n)

 には n と入力します。

パスワードを設定してユーザーを作成する。

$ createuser -P ユーザー名

ユーザーを削除する。

$ dropuser ユーザー名

PostgreSQLのデータベース作成

データベースを作成します。

$ createdb データベース名

データベースの所有者を指定する。

 「CREATE DATABASE」と表示されれば成功です。データベース名を省略すると、OSのログイン名でデータベースが作成されます。

$ createdb データベース名 -O ユーザー名

データベースを削除する。

$ dropdb データベース名

 ここでいうデータベースは、Excelでいうところのファイルに近いもので、ひとつの目的のために作られるテーブル(Excelでいうところのシート)をまとめたものです。 最初にデータベースを作成し、その中にテーブルを作り、テーブルにデータを格納することで、データベースを構築します。

コマンドラインツール - psql

 SQLによるデータベース操作を行なうためのツールが psql です。以下のコマンドで起動します。

起動

$ psql

 通常は以下のように、データベース名を指定して起動します。

起動(db名指定)

$ psql データベース名

 パスワード付きでユーザーを指定して起動する場合は以下の通り。

$ psql データベース名 -U ユーザー名 -W

PostgreSQLリファレンス

 起動すると、以下のように表示されます。(例)

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 テーブル名

psqlで使えるコマンドを表示。

postgres=> \?

psqlを終了。

postgres=> \q

 その他一般の操作はすべてSQL文により行なえます。