windowsではMS-ACCESSで手軽なDBを作成していましたがlinuxで手軽なRDBMSってなにがあるんだろう?
と思いもちろんフリーで有名なpostgresqlをインストールしてみました。
私のvine2.0 ではpostgresqlのrpmがもともと添付されていますのでそちらを入れてみました。
postgresql-clients-6.5.1_jp-1.i386.rpm
postgresql-6.5.1_jp-1.i386.rpm
をこの順番でインストールします。
root権限で
rpm -i postgresql-clients-6.5.1_jp-1.i386.rpm
rpm -i postgresql-6.5.1_jp-1.i386.rpm
を実行します。
たったこれだけで、インストールは完了ですね。
次に環境設定です。
どうやら日本語マニュアルはない様子でしたので英語の原文より手順に従って行きます。
私の場合は /usr/doc/postgresql-6.5.1_jp/admin にあるドキュメント(html形式)を参考に行ってみました。
まずpostgresqlのアドミンユーザーが存在しなければ作成します。通常postgresです。adduserコマンド等で作成して下さい。なお、セキュリティーの関係上root権限を与えないようにとのことです。
以下postgresqlのアドミンユーザーはpostgresとします。
postgresユーザーでログインします。
そして環境変数を設定します。これを正しく行わないと以下の作業は失敗します。
ドキュメントには
Add the following lines to your login environment: shell,
~/.bash_profile:
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
PGLIB=/usr/local/pgsql/lib
PGDATA=/usr/local/pgsql/data
export PATH MANPATH PGLIB
PGDATA
とありましたがこのrpmからインストールしたときは以下のように変更しました。
なお、PGDATA等のパスは実際の運用に合わせて変更することが好ましいと思われます。
私の場合はとにかくまず動かしてみたかったので以下のように変更しました。
PATH=$PATH:/usr/lib/pgsql/bin
MANPATH=$MANPATH:/usr/lib/pgsql/man
PGLIB=/usr/lib/pgsql
PGDATA=/usr/lib/pgsql/data
export PATH MANPATH PGLIB PGDATA
この記述を ~/.bash_profile に記述しています。
そしてこの設定を有効にするために
souce ~/.bash_profile
を実行します。
次に postgresユーザーで initdb を実行します。
$initdb
ここでもしエラーを示すメッセージが表示された場合は先程設定した環境変数が正しくないか確認して下さい。
続けて以下の操作を行います。
$ cd
$ nohup postmaster -i > pgserver.log 2>&1 &
[1] 1173
プロセスIDが表示されます。
$ createdb
データベースが作成されたら接続してみましょう!
psqlと入力してみます。以下のメッセージがでれば無事完了です。
$ psql
POSTGRESQL の会話型 SQL モニター(psqlj-6.5)へようこそ。
POSTGRESQL の著作権、については COPYRIGHT
ファイルをご覧ください。
[PostgreSQL 6.5.1 on i686-pc-linux-gnu, compiled
by gcc egcs-2.91.66]
\? で \ コマンドのヘルプを表示します。
\q で終了します。
\g をタイプするかまたは ';' で終わらせると、クエリーを実行します。
現在データベース 'postgres' に接続されています。
postgres=> select datetime 'now' ;
?column?
----------------------------
Sun Jul 30 00:39:22 2000 JST
(1 row)
終了するには\qです。
postgres=> \q