# adduser postgresセキュリティ上、パスワードは設定しません。安易に一般ユーザから su コマンドを利用しないためです。
# mkdir -p /usr/local/src/postgresql-7.1.3
# chown postgres /usr/local/src/postgresql-7.1.3
# mkdir -p /usr/local/pgsql
# chown postgres /usr/local/pgsql
# cd /usr/local/src # su postgres $ tar xvfz postgresql-7.1.3.tar.gz
$ cd postgresql-7.1.3 $ ./configure --enable-multibyte=EUC-JP --prefix=/usr/local/pgsql $ makeインストールの準備ができたので、インストールします。
# make installマニュアルをインストールする場合には、以下のコマンドを実行します。
# cd doc # make install
$ source .bashrcリスト1:環境変数
PATH="$PATH":/usr/local/pgsql/bin export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/li export PGDATA=$POSTGRES_HOME/data export MANPAGE="$MANPATH":$POSTGRES_HOME/man export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
Apache Web サーバからPostgreSQLに接続する場合は、lld.so.confにPostgreSQLのライブラリディレクトリを記述します。
記述する内容を示します。
# vi /etc/ld.so.conf /usr/local/pgsql/lib記述した内容を有効にするために、ldconfigコマンドを実行します。
# ldconfig
$ initdbコマンドを実行すると、処理状態を示すメッセージが表示されます。(リスト2)
Creating directory /usr/local/pgsql/data Creating directory /usr/local/pgsql/data/base Creating directory /usr/local/pgsql/data/global Creating directory /usr/local/pgsql/data/pg_xlog Creating template1 database in /usr/local/pgsql/data/base/1 (中略) Success. You can now start the database server using: /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data or /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
# cp /usr/local/src/postgresql-7.1.3/contrib/start-scripts/linux /etc/rc.d/init.d/pgsql # chmod 700 /etc/rc.d/init.d/pgsql # cd /etc/rc.d/rc3.d # ln -sf ../init.d/pgsql S83pgsqlPostgreSQLを起動します。
# /etc/rc.d/init.d/pgsql start
$ cd /usr/local/src/postgresql-7.1.3/src/test/regress/ $ make all runtestテスト状況がリスト3のように表示されます。
============= running regression test queries ============== test boolean ... ok test char ... ok test name ... ok test varchar ... ok test text ... ok test int2 ... ok test int4 ... ok test int8 ... ok (以下略)okにならず、failedとなる場合があります。環境の違いにより、正常にインストールされていても全てがokになるとは限りません。
# su postgresここでは、ユーザ hoge をPostgreSQLのユーザとして追加します。
$ createuser hoge Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n
「データベースの作成を許可するか?」の問いには、y と答え、次の新しいPostgreSQLユーザを作成を許可するか?」の問いには n と答えます。
これで、一般ユーザ hoge がデータベースを作成できるようになります。