PostgreSQLのインストール

仕事で使っているDBがPostgreSQLなので自分でインストールし、お勉強をします。自分のWindowsマシンにインストールしてもよいが、せっかく借りているさくらVPSがあるのでここにインストールします。

では、さっそくインストール 

ちなみにOSは、CentOS release 6.2

 

パッケージのインストール

# rpm -ivh http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
 
postgresql-serversのインストール
 
# yum install postgresql91-server
 

インストールすると、postgresというユーザーが作られるようです。
パスワードが設定されていないので、パスワードを設定してやります。

# passwd postgres
新しいUNIXパスワードを入力してください:
新しいUNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました

 
pqslを終了するには、\qを入力します。
 
データベースクラスタの初期化

postgresユーザに切り替えます。
# su – postgres

.bash_profileに環境変数を追加します。
$ vi ~postgres/.bash_profile

export PATH=$PATH:/usr/pgsql-9.1/bin
export POSTGRES_HOME=/usr/pgsql-9.1
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=/var/lib/pgsql/9.1/data
export MANPATH=”$MANPATH”:$POSTGRES_HOME/share/man
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH”:”$PGLIB”

 

 

環境変数を反映します。
$ source ~postgres/.bash_profile

 

データベースクラスタの初期化を行います。

$ initdb –no-locale -D /var/lib/pgsql/9.1/data -E UTF-8

–no-locale
ロケールは言語や文化に応じた処理をするOSの機構です。
PostgreSQLではデータのソート処理に使用しますが英語や日本語のデータを扱う場合は不要です。有効にすると、ロケール処理の分、ソート処理などが遅くなるため無効にします。

 

-D
データベースの保存場所を指定します。 自分はここ postmaster -D /var/lib/pgsql/9.1/data

 
$ vi /var/lib/pgsql/9.1/data/postgresql.conf
 
ワイルドカードへ変更
listen_addresses = '*'
 
ポートのところのコメントアウトじゃなくする
port 5432
 
pg_hba.confを修正 ホストをどこからもOKにする。
# vi  /var/lib/pgsql/9.1/data/pg_hba.conf 
 host    all             all             0.0.0.0 0.0.0.0         md5
 

iptablesコマンドで、許可を与えるべし

iptables -I INPUT -p tcp -m tcp –dport 5432 -j ACCEPT

 
PostgreSQLに接続します。
 psql -h localhost -U postgres -d postgres
パスワード変更
ALTER USER postgres encrypted password 'hoge';
 
参考サイト
http://www.oss-d.net/lapp1#m336ca61
http://fujishinko.exblog.jp/8359313/
http://d.hatena.ne.jp/uriyuri/20081024/1224798772
http://www.postgresql.jp/document/7.4/html/client-authentication.html#EXAMPLE-PG-HBA.CONF
http://www.marronkun.net/linux/other/database_000014.html
http://rina.jpn.ph/~rance/linux/postgresql/connect.html