PostgreSQLのインストール



Postgres0のインストールはLinuxではポピュラーなデータベースです。インストールはどちらかと言うと面倒臭い部類に入ると思います。これはORACLEを含めデータベース共通ですね。私も結構てこずりましたが何とかインストールできました。

PostgreSQLftp://ftp.sra.co.jp/pub/cmd/postgres/7.1.3/はダウンロードしてください。(6.88MB)
最終更新日:2001年3月2日





◆PostgreSQLは,以下の順序で行ってください、

  1. 前準備

  2. インストール

  3. 環境設定

  4. pg_hba.confの設定

  5. postmasterの自動起動





前準備

#groupadd postgres←postgreのユーザーグループを登録する

#adduser postgres←postgreのユーザーを登録する

#mkdir /usr/local/pgsql←postgreがインストールされるディレクトリー

#chown postgres.postgres /usr/local/pgsql←所有者をpostgresにします

トップへ戻る



インストール

PostgreSQLは6.88MBもありましたので、私の場合はCD−ROMに焼いて作業を行いました。

#mount - t iso9660 /cdrom /cdrom←CD−ROMをマウントする。

#cd /usr/local/src

~$ tar zxvf /cdrom/postgresql-7.1.3-patched-20001204.tar.gz←解凍する

#chown postgres.postgres /usr/local/src/postgresql-7.1.3←所有者をpostgresにします

#su -postgres←postgresがrootになる。

~$cd postgresql-7.1.3←ソースの移動する。

~$./configure --enable-multibyte=EUC_JP←configureで初期設定

~$make all←コンパイルの実行

~$make install←インストールの実行

~$cd ../doc

~$make install←マニアルのインストールの実行


トップへ戻る



環境設定

~$vi /etc/profile←edit で/etc/profileを開くて、一番最後に以下を追加する。
export PATH=$PATH:$HOME=/bin:/usr/local/pgsql/bin
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 PGCLIENTENCODING=SJIS  <====SJISコードを使用する場合(~_~)
セーブをする。

~$cd /usr/local/pgsql/bin←/usr/local/pgsql/binに移動。

~$initdb←データベースを初期化する。

~$postmaster -D/usr/local/pgsql/data -b/usr/local/pgsql/bin/postgres -S -i←サービスプログラムを起動する。

トップへ戻る



pg_hba.confの設定

PostgreSQLはセキュリティ上、postmasterはデフォルトではLinuxドメインのソケットからしか接続を受け付けません。
つまり他のホストから接続できません。そこで、他のホストからアクセスできるように設定をします。

~$cd /usr/local/pgsql/data

~$vi pg_hba.conf←edit でpg_hba.confを開きます。

#host      all     0.0.0.0      0.0.0.0      trust←#をはずしてください。

トップへ戻る



postmasterの自動起動

システム起動時に自動的にpostmasterを起動できるように設定します。rootで行ってください。

rc.localに以下を追加します。

#cd /etc/rc.d

/etc/rc.s#vi rc.local←edit でrc.localを開きrc.localに以下を追加します。

if [ -x /usr/local/pgsql/bin/postmaster ]; then
          rm -f /tmp/.s.PGSQL.5432
          su - postgres -c "/usr/local/pgsql/bin/postmaster -D/usr/local/pgsql/data -b/usr/local/pgsql/bin/postgres -S -i"
  else
      echo -n 'postmaster '
fi

PGSQL.5432はpostmasterが通常使用するソケットの番号です。不都合な場合は自分のマシンのソケット番号に変更してください。

トップへ戻る