Vine Linux 3.1についてある postgres の設定
インストールするファイル
postgresql-jdbc-7.4.7-0vl1
postgresql-libs-7.4.7-0vl1
postgresql-odbc-7.4.7-0vl1
postgresql-perl-7.4.7-0vl1
postgresql-python-7.4.7-0vl1
postgresql-tcl-7.4.7-0vl1
postgresql-server-7.4.7-0vl1
postgresql-7.4.7-0vl1
postgresql-contrib-7.4.7-0vl1
postgresql-devel-7.4.7-0vl1
postgresql-docs-7.4.7-0vl1
postgresql-tk-7.4.7-0vl1

Postgresqlはすでにバージョン8をリリースしています。必要な場合は、postgresql8を利用してください。


Postgres7 を rpm でそのまま使った場合、いくつかの設定をしなくてはいけません。
データベースの初期化
postgresユーザになり、 initdbを実行
(いきなり起動した場合はデータベースの初期化をしてくれます。postgresql-7.4.7-0vl1にて確認)

ファイルの位置関係がおかしくなっている
すべてが /usr/local/pgsql にありません。rpmの位置を探ってみました。
(探しきれなかったので、おかしな点はメールをください m(_|_)m )
実行ファイルbin/usr/bin/
データベースdata/var/lib/pgsql/data
説明書(html)doc/usr/share/doc/postgresql-7.4.7/html
実行パーツinclude不明
ライブラリlib不明
説明書(man)man不明
サンプルshare不明

pg_hba.confの利用可能をグローバルに割り当てる。
/var/lib/pgsql/data/pg_hba.conf
host  all    123.123.123.123 255.255.255.248 trust
ネットマスクが248はIPアドレス8個の時です。
代表的な値はしたの表を参考にしてください。
ネットマスクIPアドレスの個数
024255
2402816
248298
255321

環境を整備します。
rpmファイルはrootでインストールすることが多いので、ユーザ名がrootとなっています。
そこで、postgresのルートをpostgresの物にします。
chown -R postgres.postgres /var/lib/pgsql

/etc/rc.d/init.d/postgresql をstartで使うと、-S -i のスイッチがないので
ポートエラーが発生します。下記のように変更してください。
/var/lib/pgsql/data/postgresql.conf

tcpip_socket = true
port = 5432
と変更する。

アクセスできるIPアドレスを指定します。
/var/lib/pgsql/data/pg_hba.conf

host all 127.0.0.1 255.255.255.255 trust
host all 202.216.30.224 255.255.255.248 trust
を追加します。

IPv6に対応したようです。下記の記述で問題ないと思われます(未実証)
# IPv6-style local connections:
host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust
host all all 2001:xxxx:xxxx:xxxx::1 ffff:ffff:ffff:ffff::0 trust

ユーザを作ります
一般ユーザを作ります。Apacheから利用するときのユーザです。
セキュリティ上の問題から、リードオンリのユーザにします。

#su - postgres
-bash-2.05b$ createuser nobody
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n

1行目は、「データベースを作る権限を与えますか?」と聞いているのでNo
2行目は、「ユーザを作る権限を与えますか?」と聞いているのでNo

データベースを作ります
データベースの「箱」を作るようなものです。
<余談>
作ろうとしているデータベースはまず「箱」があり、その中に「テーブル」と呼ばれるノートのようなものがあります。
データを抽出をするために「クエリー」と呼ばれるふるいがあります。

-bash-2.05b$ createdb database
テーブル(ノート)を作ります
テーブルにはデータが登録されます。データがどんどん書き込まれていくのでノートのようなものです。

-bash-2.05b$ psql blacklist
PostgreSQL の会話型ターミナル、psql 7.4.7 へようこそ

\copyright とタイプすると、配布条件を表示します。
\h とタイプすると、SQL コマンドのヘルプを表示します。
\? とタイプすると、内部スラッシュコマンドのヘルプを表示します。
\g と打つかセミコロンで閉じると、クエリーを実行します。
\q で終了します。

blacklist=#create table db (moji text ,suuji varchar(1));

2004.02.26 Vineのバージョンアップに伴い、postgresのバージョンもアップさせた。
2004.02.27 テーブル作成まで追記

Let's PC の Topに戻る
ホームページのTopに戻る