Child pages
  • PostgreSQLインストールとDBの作成(rpmパッケージ)

Contents

はじめに

CentOS 6.3では、標準パッケージからyumコマンドでPostgreSQL 8.4.12 をインストールすることができます。 サポート対象のPostgreSQLのrpm パッケージを利用できない場合は、 PostgreSQLインストールとDBの作成(Linuxでmake) を参照して make して下さい。

以下の説明の中で実行している各コマンドはroot権限を持つユーザーで入力してください。

1.PostgreSQLのインストール

yum install postgresql postgresql-server」コマンドを入力し、PostgreSQLをインストールします。インストールにはroot権限が必要です。

コマンドの実行途中で、ダウンロードとインストールの確認が求められます。画面の表示内容を確認し、問題なければ「y」を入力してインストールを進めてください。 

# yum install postgresql postgresql-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postgresql.x86_64 0:8.4.12-1.el6_2 will be installed
---> Package postgresql-server.x86_64 0:8.4.12-1.el6_2 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Installing:
postgresql x86_64 8.4.12-1.el6_2 updates 2.7 M
postgresql-server x86_64 8.4.12-1.el6_2 updates 3.3 M
Transaction Summary
====================================================================================================
Install 2 Package(s)
Total download size: 6.1 M
Installed size: 28 M
Is this ok [y/N]: y ……ここで[y][Enter]を押す。
Downloading Packages:
(1/2): postgresql-8.4.12-1.el6_2.x86_64.rpm | 2.7 MB 00:00
(2/2): postgresql-server-8.4.12-1.el6_2.x86_64.rpm | 3.3 MB 00:00
----------------------------------------------------------------------------------------------------
Total 4.1 MB/s | 6.1 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : postgresql-8.4.12-1.el6_2.x86_64 1/2
Installing : postgresql-server-8.4.12-1.el6_2.x86_64 2/2
Verifying : postgresql-8.4.12-1.el6_2.x86_64 1/2
Verifying : postgresql-server-8.4.12-1.el6_2.x86_64 2/2
Installed:
postgresql.x86_64 0:8.4.12-1.el6_2 postgresql-server.x86_64 0:8.4.12-1.el6_2
Complete!

2.データベース領域の初期化

最初に、初期化で使うコマンドのファイルを修正します。
パフォーマンス悪化防止のため、initdbコマンドのオプションとして「--no-locale -E UTF-8」を追加します。
/etc/rc.d/init.d/postgresql の以下の部分を変更してください。

  • 変更前

# Initialize the database
$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null

  • 変更後

# Initialize the database
$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --no-locale -E UTF-8 --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null

service postgresql initdb」コマンドを使用してデータベース領域を初期化します。

# service postgresql initdb
Initializing database: [ OK ]

3.設定ファイル修正

パフォーマンス調整

/var/lib/pgsql/data/postgresql.conf 内の「shared_buffers」「work_mem」「wal_buffers」の値を、以下のように編集します。コマンドはエディタとしてviを使ったときの例です。
work_mem」と「wal_buffers」はコメントアウトされていますので、先頭の「#」を削除してコメントを解除してから編集してください。

# vi /var/lib/pgsql/data/postgresql.conf

shared_buffers = 512MB
work_mem = 4MB ……先頭の「#」を削除してコメント解除する。
wal_buffers = 64kB ……先頭の「#」を削除してコメント解除する。

接続クライアント

/var/lib/pgsql/data/postgresql.conf 内の「listen_addresses」の以下のように修正し、localhost から接続できるようにします。コマンドはエディタとしてviを使ったときの例です。
この行もコメントアウトされていますので、 先頭の「#」を削除してコメントを解除してから編集してください。

# vi /var/lib/pgsql/data/postgresql.conf

listen_addresses = 'localhost' ……先頭の「#」を削除してコメント解除する。

/var/lib/pgsql/data/pg_hba.conf 内を以下のように修正して、host接続の認証方式をパスワード認証(md5) にします。

  • 修正前

host    all         all       127.0.0.1/32         ident

  • 修正後

host    all         all       127.0.0.1/32         md5

設定ファイル修正後、PostgreSQLが起動していたら再起動して設定ファイルの修正を読み込ませます。

起動しているか確認するには「ps -ef | grep pgsql」コマンド、再起動には「service postgresql restart」コマンドを使用します。 

# ps -ef | grep pgsql
postgres 26395 1 0 11:53 ? 00:00:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data
root 26434 2292 0 11:54 pts/0 00:00:00 grep pgsql
# service postgresql restart
Stopping postgresql service: [ OK ]
Starting postgresql service: [ OK ]

4.自動起動設定

yumコマンドを使用してPostgreSQLをインストールすると、自動的にサービスとして登録されます。
ただし、自動起動するようには設定されていません。「chkconfig --level 35 postgresql on」コマンドを実行して、自動起動するように設定します。
chkconfig --list postgresql」コマンドは設定内容を確認するためのコマンドです。

# chkconfig --list postgresql
postgresql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig --level 35 postgresql on
# chkconfig --list postgresql
postgresql 0:off 1:off 2:off 3:on 4:off 5:on 6:off

PostgreSQLの起動と停止は、以下のコマンドで行います。 

  • PostgreSQLの起動

# service postgresql start
Starting postgresql service: [ OK ]

  • PostgreSQLの停止

# service postgresql stop
Stopping postgresql service: [ OK ]

  • サービスの再起動

# service postgresql restart
Stopping postgresql service: [ OK ]
Starting postgresql service: [ OK ]

5.インストール完了

これでPostgreSQLのインストールが完了しました。

6.ユーザー作成、データベース作成

JIRA、Confluenceなどの接続先DBとして使用するため、専用のユーザーとデータベースを用意します。

(PostgreSQLに接続します。)
# su - postgres
$ psql
psql (8.4.12)
Type "help" for help.

(ユーザーを作成します。ユーザー名とユーザーパスワードに値を入力してCreateします。)
postgres=# create role <ユーザー名> PASSWORD '<ユーザーパスワード>' CREATEDB LOGIN;
CREATE ROLE

(データベースを作成します。データベース名に値を入力し、ユーザー名には作成したユーザー名を入力します。)
postgres=# create database <データベース名> owner <ユーザー名> template=template0 encoding='utf-8';
CREATE DATABASE

(psqlコマンドを終了します。)
postgresql=# \q 

psqlコマンドを終了するには、「\q」と入力してください。「\h」と入力するとヘルプが表示されます。

ユーザー名、データベース名、パスワード

ユーザー名、ユーザーパスワード、データベース名は任意の内容を入力してください。 パスワードは外部から推測されにくいものをおすすめします。
ここでは、以下の想定で作業を行います。

 ユーザー名データベース名
JIRAjira_db_usrjira_db
Confluenceconf_db_usrconf_db
FishEyefisheye_db_usrfisheye_db
Stashstash_db_usrstash_db
Crowdcrowd_db_usrcrowd_db
Bamboobamboo_db_usrbamboo_db

作成されていること確認するために、作成したデータベースに接続します。

コマンド:psql -h 127.0.0.1 -U <ユーザー名> <データベース名>

(実行例)
# su - postgres
$ psql -h 127.0.0.1 -U conf_db_usr conf_db
Password for user conf_db_usr:
psql (8.4.12)
Type "help" for help.

conf_db=> \q

接続を確認できたらデータベース作成完了です。

  • No labels

This page has no comments.