#!/bin/bash cd /ext/exp tar zxvf /ext/cmp/01/postgresql-*.*.*.tar.gz DIR=$(ls -d postgresql-*.*.*) cd $DIR ./configure --prefix=/ext/env/01/$DIR make all make install cd /ext/ini cat << EOF > postgres.sh export POSTGRES_HOME=/ext/env/01/postgres if ! echo \$PATH | grep -q postgres/bin; then PATH=\$POSTGRES_HOME/bin:\$PATH fi if ! echo \$MANPATH | grep -q postgres/man; then export MANPATH=\$POSTGRES_HOME/man:\$MANPATH fi export PGDATA=\$POSTGRES_HOME/data EOF . /etc/profile cp /ext/cmp/01/postgresql*.jar $JAVA_HOME/jre/lib/ext chmod 644 $JAVA_HOME/jre/lib/ext/postgresql*.jar if ! grep -q postgres /etc/passwd; then useradd postgres fi echo postgres:postgres | chpasswd cd /ext/env/01 ln -sf $DIR postgres chown -R postgres:postgres $DIR chown -h postgres:postgres postgres sudo -u postgres expect -c " spawn initdb -D $PGDATA -E UTF-8 -W expect -re \"password: $\" send -- \"postgres\r\" expect -re \"again: $\" send -- \"postgres\r\" expect eof " sudo -u postgres sh -c " cd $PGDATA if [ ! -e postgresql.conf.org ]; then mv postgresql.conf postgresql.conf.org fi sed -e '/silent_mode/{s/^#//;s/off/on/}' postgresql.conf.org > postgresql.conf if [ ! -e pg_hba.conf.org ]; then mv pg_hba.conf pg_hba.conf.org fi sed -e '/\(^local\|^host\)/{s/trust$/md5/}' pg_hba.conf.org > pg_hba.conf " sudo -u postgres pg_ctl -D $PGDATA -w start expect -c " spawn createlang plpgsql -U postgres template1 expect -re \": $\" send -- \"postgres\r\" expect eof " cd /ext/exp/postgresql-*.*.*/contrib/pgstattuple make make install expect -c " spawn psql -f pgstattuple.sql -U postgres template1 expect -re \": $\" send -- \"postgres\r\" expect eof " sudo -u postgres expect -c " spawn psql template1 postgres -c { create user usnm01 password 'pswd01' createdb; } expect -re \": $\" send -- \"postgres\r\" expect eof " sudo -u postgres expect -c " spawn psql template1 usnm01 -c { create database dtbs01; } expect -re \": $\" send -- \"pswd01\r\" expect eof " sudo -u postgres expect -c " spawn psql dtbs01 usnm01 -c { create table memberlist ( id integer primary key, name text, gender integer check(gender in (1, 2)), tel text, email text ); insert into memberlist values(1, '田中', 1, '0120-11-0001', 'tanaka@mail.aaa.com'); insert into memberlist values(2, '鈴木', 2, '0120-11-0002', 'suzuki@mail.bbb.com'); insert into memberlist values(3, '佐藤', 1, '0120-11-0003', 'satoh@mail.ccc.com'); insert into memberlist values(4, '齋藤', 2, '0120-11-0004', 'saito@mail.ddd.com'); insert into memberlist values(5, '吉田', 1, '0120-11-0005', 'yoshida@mail.eee.com'); insert into memberlist values(6, '岡田', 2, '0120-11-0006', 'okada@mail.fff.com'); insert into memberlist values(7, '川上', 2, '0120-11-0007', 'kawakami@mail.ggg.com'); insert into memberlist values(8, '河野', 1, '0120-11-0008', 'kawano@mail.hhh.com'); insert into memberlist values(9, '村山', 1, '0120-11-0009', 'murayama@mail.iii.com'); } expect -re \": $\" send -- \"pswd01\r\" expect eof " sudo -u postgres pg_ctl -D $PGDATA stop