SQLデータベースをバックエンドに、WWWブラウザをフロントエンドに据えたシステムこそ、インターネット時代のやりかたでしょ? もちろん、ミドルは、apache + PHP3でいくつもり...
そんな訳で、PostgreSQLを導入します。
$ su # useradd postgres # passwd postgres ******** ********インストール先ディレクトリ/usr/local/pgsqlを作成し、管理専用アカウントの所有に変更します。
/usr/lcoal/pgsqlは、デフォルトのインストール先です。configureスクリプトに--prefixを指定する場合には、そのディレクトリを作成し、所有者を変更する必要があります。
# mkdir /usr/local/pgsql # chown postgres:postgres /usr/local/pgsqlここからは、管理専用アカウントで作業します。PostgreSQLのソースアーカイブを、専用アカウントのホームディレクトリ下の任意のディレクトリに置いて、次のようにインストールします。
$ tar zxvf postgresql-6.5.3.tar.gz $ cd postgresql-6.5.3/src $ ./configure --with-mb=EUC_JP $ make all $ make installインストールは、まぁこんな具合にすんなりいきます。 後は、データベースを使用できるようにするために、若干準備が必要です。 準備作業は、データベースを利用するユーザ側の環境設定とデータベースの初期化の2つです。マニュアルとドキュメントもインストールしておきます。$ make install-man $ cd ../doc $ make install
export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib export PGDATA=$POSTGRES_HOME/data export MANPATH=$MANPATH:$POSTGRES_HOME/man export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGLIB export PATH=$PATH:$POSTGRES_HOME/bin設定を有効にするために、コマンドラインから次のコマンドを入力します。
. ~/.bashrc
$ /usr/local/pgsql/bin/initdbPostgreSQLを使うには、サーバであるpostmasterを起動する必要があります。次のようにサイレントモードで起動します。
$ postmasger -Sシステム起動時に自動的にサービスとして起動させるには、/etc/rc.d/rc.localに次のようなスクリプトを追加します。 スペースを正確に入力してください。
POSTGRESDIR=/usr/local/pgsql if [ -x $POSTGRESDIR/bin/postmaster -a -d $POSTGRESDIR/data ];then rm -f /tmp/s.PGSQL.5432 su - postgres -c "postmaster -S -i" echo -n 'postmaster ' fi
# su postgres $ createuser hogehogeユーザを削除するには、次のようにします。
$ destroyuser hogehoge
ここでは、dbnameという名前のデータベースを作成することにします。データベース名をユーザ名と同じにしておくとちょっぴり幸せになれます。
$ createdb dbname
$ psql dbnameすると次のように、コマンドラインからデータベースを操作するためのプロンプトが表示されます。
Welcome to the POSTGRESQL interactive sql monitor: Please read the file COPYRIGHT for copyright terms of POSTGRESQL [PostgreSQL 6.5.3 on i686-pc-linux-gnu, compiled by gcc 2.7.2.3] 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: dbname hogehoge=>表示にあるように、終了するには、\qと入力します。
hogehoge=> create table morning ( hogehoge-> id int2, hogehoge-> name text, hogehoge-> email text hogehoge-> ); CREATE hogehoge=>プロンプトの変化に注意しましょう。create tableでは、テーブルの構造を指定しています。