インストールが完了した時点では PostgreSQLを利用できるのはpostgresユーザーだけですが、PostgreSQLのスーパーユーザーであるpostgresユーザーで使用するのは危険なので、テスト用のユーザ及びデータベースを作成し利用することとします。ここでは testuser という名前でユーザー、testdbという名前でデータベースを作成してみます。
$ cd /usr/local/pgsql/bin
$ createuser testuser
Shall the new user be allowed to create databases? (y/n)
Shall the new user be allowed to create more new users? (y/n)
「新規データベースを作成するか?」「新規ユーザーを作成するか?」というような質問をしてきますので、それぞれ n と答えておいてください。
CREATE USER
と表示されればOKです。
続いてデータベースを作成します。
$ createdb testdb
CREATE DATABASE
と表示されればOKです。
それでは実際にデータベースに接続してテストを行ってみましょう。
例として次のような簡単なアドレス帳データを登録してみます。
| name | email |
| MOG | mog@***.***.com |
| JON | jon@***.***.net |
シェル上(コマンドライン)からデータベースを操作するためには PostgreSQLに付属の
psql を利用します。
$ psql [データベース名] とすることでデータベースに接続できます。
$ export PGUSER=testuser
// 先ほど作成したtestuserになります。
$ psql testdb
// testuserでtestdbデータベースに接続します。
testdb=>
上記のようなプロンプトが表示されればSQL文を記述してデータベースの操作を行います。
■テーブルの作成
上記のアドレス帳データを登録するため新たな表(テーブル)を作成します。
テーブルの名前は addrlist 、テーブル内の要素は name(名前)と email (メールアドレス)とします。
testdb=> CREATE TABLE addrlist (
testdb(> name TEXT,
testdb(> email TEXT
testdb(> );
SQL文は ;(セミコロン)までを1つの文と解釈されます。上記の例では4行に分けて記述していますが、1行で書いても同じです。
// SQLについて説明しだすとそれだけで膨大な情報となってしまうので割愛させていただきます。スイマセン! 詳しくは解説書等を参照して下さい。
CREATE
と表示されればOKです。
テーブルの中身をのぞいてみましょう。
testdb=> SELECT * FROM addrlist;
とすれば
name | email
------+-------
(0 rows)
と表示されるはずです。まだ中身は空の状態です。
それでは実際にデータを登録してみましょう。
INSERT INTO addrlist VALUES ('MOG','mog@***.***.com');
INSERT INTO とはテーブルに新たにデータを挿入するSQL文です。
それでは、再度テーブルの中身を見てみます。
testdb=> SELECT * FROM addrlist;
name | email
------+-----------------
MOG | mog@***.***.com
(1 row)
テーブル内にデータが登録されているのがわかりますね。
続けてデータを登録してみましょう。
INSERT INTO addrlist VALUES ('JON','jon@***.***.net');
中身を見ると
testdb=> select * from addrlist;
name | email
------+-----------------
MOG | mog@***.***.com
JON | jon@***.***.net
(2 rows)
登録されていますね。
psqlを終了するには
testdb=> \q
と入力します。