PostgreSQLをインストールしたときのメモです。
バージョンが古いです。。。
■root にログインsu -
■ダウンロードしたソースを格納するディレクトリを作成mkdir /usr/software
■readline インストールcd /usr/software
wget ftp://ftp.riken.go.jp/pub/GNU/gnu/readline/readline-4.2a.tar.gz
tar zxvf readline-4.2a.tar.gz
cd readline-4.2a
./configure --prefix=/usr
make
make install
■zlib インストールcd /usr/software
wget
http://www.zlib.net/zlib-1.2.3.tar.gztar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install
■ncurses インストールcd /usr/software
wget
http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.3.tar.gztar zxvf ncurses-5.3.tar.gz
cd ncurses-5.3
./configure
make
make install
■PostgreSQL インストールcd /usr/software
wget ftp://ftp.jp.postgresql.org/source/OLD/v7.3.3/postgresql-7.3.3.tar.gz
tar xzvf postgresql-7.3.3.tar.gz
cd postgresql-7.3.3
環境変数 CFLAGS の設定(必須作業ではないがコンパイルサイズが大きくならないらしい)
export CFLAGS=-O2
./configure --enable-multibyte=EUC_JP --with-perl --enable-syslog
make
make install
■利用するスーパーユーザを作成するpgsql という名のグループとユーザを作成
adduser pgsql
■data ディレクトリのオーナーを pgsql に変更するmkdir /usr/local/pgsql/data
chown pgsql.pgsql /usr/local/pgsql/data
■利用するユーザを作成するadduser user2
■user2にログインsu - user2
■利用するユーザの PATH と MANPATH を設定するホームディレクトリにある .bash_profile の最後に次の2行を追加する
vi .bash_profile
export PATH=$PATH:/usr/local/pgsql/bin export MANPATH=$MANPATH:/usr/local/pgsql/man
|
■シェルに反映させる. ~/.bash_profile
■readline が日本語を扱えるように設定するvi .inputrc
set convert-meta off set meta-flag on set input-meta on set output-meta on
|
■root に戻るexit
■pgsql にログインsu - pgsql
■PostgreSQL のスーパーユーザの PATH と MANPATH と PGDATA を設定するホームディレクトリにある .bash_profile の最後に次の3行を追加する
vi .bash_profile
export PATH=$PATH:/usr/local/pgsql/bin export MANPATH=$MANPATH:/usr/local/pgsql/man export PGDATA=/usr/local/pgsql/data
|
■シェルに反映させる. ~/.bash_profile
■readline が日本語を扱えるように設定するvi .inputrc
set convert-meta off set meta-flag on set input-meta on set output-meta on
|
■初期データベースを作成するinitdb
■データベース作成確認下記のパスに何かできてたら多分大丈夫
ls -la /usr/local/pgsql/data
■TCP/IP ソケット経由のアクセス待ち受けを有効にするvi /usr/local/pgsql/data/postgresql.conf
#tcpip_socket = false tcpip_socket = on
|
※この設定をしないと、pg_connect("host=localhost dbname=MyDbName");のように、host に localhost を設定した場合に、エラーが発生する
■root に戻るexit
■ログファイルを作成するtouch /var/log/postgresql.log
chown pgsql.pgsql /var/log/postgresql.log
■起動時スクリプトを作成vi /etc/init.d/local
# /etc/init.d/local
echo -n "Starting PostgreSQL: " su - pgsql -s /bin/sh -c "/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /var/log/postgresql.log start" echo "done."
|
chmod 755 /etc/init.d/local
設定を反映させる
update-rc.d local defaults 98
#update-rc.d local remove # 削除コマンド
■ユーザの mail 転送設定をするvi /etc/aliases
■DB再構築postalias /etc/aliases
■ユーザの ftp のアクセス制限をするftp拒否ユーザを追加する
vi /etc/ftpusers
ftp許可ユーザを追加する
vi /etc/vsftpd.chroot_list
■PostgreSQL を起動するサーバーを再起動させ、PostgreSQL を自動実行させる
■PostgreSQL の実行確認をするsu - pgsql
/usr/local/pgsql/bin/pg_ctl status
vi /var/log/postgresql.log