超!基本操作(インストール後の作業)

PostgreSQLでのデータベースの作成方法を紹介する。
データベースに関する操作は、rootユーザではなく、PostgreSQL管理ユーザであるpostgresユーザで行う。

1.データベースの作成

テーブルなどを格納するデータベースを作成する。例えばSampleDBというデータベースを作成したい場合、次のように行う。

$ createdb SampleDB

2.テーブルの作成

テーブルの作成にはcreate tableというSQLの命令を使用する。

create table yubin_tab
(
  new_zip char(7),
  old_zip char(5),
  address_1 varchar(128),
  address_2 varchar(128),
  address_3 varchar(128)
);

しかし、これを入力するのは手間がかかるだけでなく、入力ミスをするかもしれない。よって、postgresユーザのホームディレクトリにyubin_tab.sqlというファイルを作成し、そのファイルにcreate table文を記述する。

ファイルを作成したら、テーブルの作成を行う。PostgreSQLやOracleの場合、データベースに対してSQL要求を伝えるクライアントアプリケーションが必要である。PostgreSQLには対話型のクライアントアプリケーションとしてpsqlというユーティリティが用意されている。このアプリケーションを使い、テーブルを作成する。

1.データベースに接続

psqlを起動し、データベースSampleDBに接続する。

$ psql SampleDB

psqlが起動すると、次のようなWelcomeメッセージが表示され、プロンプトからSQLステートメントやpsqlコマンドを実行できるようになる。

Welcome to psql 8.2.3, 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

SampleDB=#

2.create tableコマンドの実行

プロンプトから直接create tableコマンドを実行してもいいが、用意したファイルをプロンプトから実行するには次のように行う。

SampleDB=# \i yubin_tab.sql

テーブルが作成されたかどうか、確認する。

SampleDB=# \dt
                        List of relations
 Schema |                 Name                 | Type  |  Owner
--------+--------------------------------------+-------+----------
 public | yubin_tab                            | table | postgres
(1 rows)

SampleDB=#

これにより、データベースSampleDBにはyubin_tabテーブルがあり、Ownerがpostgresユーザであることが分かる。

3.データの挿入

テーブルへのデータの挿入はInsert文を使用する。ここでは紹介しない。
参考書ではデータがCDに用意してあり、Copyコマンドを使ってデータを追加した。

4.データの検索

データを追加したら、Select文で挿入されているかを確認する。ここでは紹介しない。

5.psqlの終了

psqlを終了するには、\qを使用する。

SampleDB=> \q

psqlが終了し、プロンプトが元に戻る。

3.備考

これで、データベースが使えるようになった。しかし、このままではWeb上でデータベースのデータを表示したり、AccessなどでODBCを使って操作することはできない。
それらの設定は別ページで解説する。

4.補足

1.日本語の取り扱い

テーブル内のデータは日本語が使えたが、テーブル名や項目名にも使えるかどうかはまだ試していない。項目名には使えてテーブル名には使えないような気がする・・・
と思っていたら、テーブル名だろうが項目名だろうが、全く問題なく日本語が使えました。EUCコードで記述さえすればOK!
とはいえ、テーブル名や項目名は日本語を使わないのがセオリーでしょう。

2.「psql」ユーティリティの使い方

データベースへの操作はpsqlユーティリティを使うが、サーバ上で直接使うには日本語を扱う場合に結構面倒である。
これはクライアントからtelnetで接続して操作するのが一番やりやすいと思う。クライアントからIMEで入力するのが手っ取り早い!!


[ TOP ]