PostgreSQL 9.0をCentOS 6.2へインストールして初期設定
カテゴリ:OSSセットアップ | ソフトウェア:PostgreSQL | タグ:
最終更新日:2020/12/18 | 公開日:2012/06/28
目次
構成
想定環境
サーバ構成
OSバージョン
CentOS 6.2 64bit
パッケージ一覧
postgresql90-9.0.8-1PGDG.rhel6.x86_64.rpm
postgresql90-libs-9.0.8-1PGDG.rhel6.x86_64.rpm
postgresql90-server-9.0.8-1PGDG.rhel6.x86_64.rpm
環境構築
インストール
PostgreSQLサーバに必要なパッケージを3つインストールします。
CentOS同梱のPostgreSQLパッケージはバージョン8.xと古いので、
コミュニティで公開されているバージョン9.0のパッケージを利用します。
ファイルをダウンロードして/tmpに配置し、以下のコマンドを実行します。
# rpm -ihv postgresql90* Preparing... ########################################### [100%] 1:postgresql90-libs ########################################### [ 33%] 2:postgresql90 ########################################### [ 67%] 3:postgresql90-server ########################################### [100%]
設定
データベースの初期化
データベースを初期化します。
# /etc/rc.d/init.d/postgresql-9.0 initdb Initializing database: [ OK ]
設定ファイルの変更
設定ファイルのログ出力に関する設定を変更します。
# cd /var/lib/pgsql/9.0/data/ # vi postgresql.conf
ファイル名:/var/lib/pgsql/9.0/data/postgresql.conf
※以下、該当箇所のみ変更※ log_directory = 'pg_log' # directory where log files are written, ↓変更 log_directory = '/var/log/postgresql' # directory where log files are written,
log_filename = 'postgresql-%a.log' # log file name pattern,
↓変更
log_filename = 'postgresql-%Y%m%d.log' # log file name pattern,
log_rotation_age = 1d # Automatic rotation of logfiles will
↓変更
log_rotation_age = 7d # Automatic rotation of logfiles will
#log_line_prefix = '' # special values:
↓変更
log_line_prefix = '%t [%p] ' # special values:
lc_messages = 'ja_JP.UTF-8' # locale for system error message
↓変更
lc_messages = 'C' # locale for system error message
PostgreSQLの起動ランレベル変更
Linux起動時にPostgreSQLを自動起動する設定に変更します。
# chkconfig postgresql-9.0 on # chkconfig --list postgresql-9.0 postgresql-9.0 0:off 1:off 2:on 3:on 4:on 5:on 6:off
PostgreSQLの起動
以上で設定が終了したのでrcスクリプトを使用してデーモンを起動します。
# /etc/rc.d/init.d/postgresql-9.0 start Starting postgresql-9.0 service: [ OK ]
動作テスト
プロセスの起動確認
PostgreSQLのプロセスが起動していることを確認します。
# ps -ef | grep postgres postgres 5745 1 0 00:17 ? 00:00:00 /usr/pgsql-9.0/bin/postmaster -p 5432 -D /var/lib/pgsql/9.0/data postgres 5747 5745 0 00:17 ? 00:00:00 postgres: logger process postgres 5749 5745 0 00:17 ? 00:00:00 postgres: writer process postgres 5750 5745 0 00:17 ? 00:00:00 postgres: wal writer process postgres 5751 5745 0 00:17 ? 00:00:00 postgres: autovacuum launcher process postgres 5752 5745 0 00:17 ? 00:00:00 postgres: stats collector process root 5765 1399 0 00:20 pts/0 00:00:00 grep postgres
データベースの確認
インストール直後から存在しているデフォルトデータベースの一覧を表示して確認します。 コマンドはpostgresユーザにスイッチしてから実行します。
# su - postgres -bash-4.1$ psql -l データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権 -----------+----------+------------------+-------------+-------------------+----------------------- postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 行)
ログファイルの確認
ログの出力先を変更したので、以下のように正しくログ出力されているか確認します。 出力内容は必ずしも以下の通りとは限らないので、ログが出力されていることのみ確認してください。
-bash-4.1$ cd /var/log/postgresql/ -bash-4.1$ cat postgresql-20130310.log 2013-03-10 04:23:56 JST [1166] LOG: database system was shut down at 2012-09-09 12:15:53 JST 2013-03-10 04:23:56 JST [1162] LOG: database system is ready to accept connections 2013-03-10 04:23:56 JST [1169] LOG: autovacuum launcher started