2009年10月4日日曜日

Postgesql のインストール

要約

Postgesql 8.4.1 のインストールとデータベースの初期化、およびサーバーの起動と停止までの記録。

なお、"#" はスーパーユーザー (root) のプロンプト、"%" は postgresql データベース管理用ユーザー (postgres) のプロンプト、"$" は一般ユーザーのプロンプトを表す。

参考文献

PostgreSQL 8.3.1 のインストールと設定

必要なパッケージ

ミラーサイトより、 をダウンロードする。

作業内容

チェックサムの確認

$ md5sum -c postgresql-8.4.1.tar.gz.md5

構築

$ ./configure
$ make
$ make check
# make install

設定

既存の postgresql の停止

debian のインストール時に一緒にインストールされたバージョン 8.3 の postgresql が動いているので、まずそのサーバーをシャットダウンし、各ランレベルに登録されているスクリプトを削除する。

# cd /etc/init.d
# ./postgresql-8.3 stop
# update-rc.d -f postgresql-8.3 remove

データベース作成用ディレクトリの準備

バージョン 8.4.1 は /usr/local 以下にインストールしたので、データベースは /usr/local/pgsql/data に作成することにした。

$ sudo mkdir /usr/local/pgsql/data
$ sudo chown postgres /usr/local/pgsql/data

データベースの初期化

サーバーの起動

データベースの作成

試しにテスト用のデータベースを作ってみる。 しかし "fumi" というロールがまだ無いので当然エラーになった。サーバーのログにも以下のメッセージが載っている。

FATAL:  role "fumi" does not exist

そこでまずロールを作成する。

% /usr/local/pgsql/bin/createuser fumi
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n

それから再度テスト用のデータベースを作ってみる。 今度はうまくいった。

サーバーの停止

ここまでできたので、ひとまずサーバーをシャットダウンする。 この結果は、サーバーのログに以下のように載っている。

LOG:  received smart shutdown request
LOG:  autovacuum launcher shutting down
LOG:  shutting down
LOG:  database system is shut down

0 件のコメント:

コメントを投稿