@YMC RENTAL SERVER SERVICE お知らせお問い合せ各種申請
YSシリーズ マネージドサーバー カスタムサーバー その他のプラン お問い合せ 各種申請
 カスタムサーバー

PostgreSQL のインストールについて

CentOS 4.4 では、PostgreSQL のバージョン 7.4 系に対応しております。

お申込み時に選択されていない場合、初期状態ではインストールされておりませんので、必要に応じてインストールしてご利用ください。

※ 標準以外のバージョンに対しては、お客様側でご対応ください。

対象

  • カスタムサーバー
  • マネージドサーバー

インストール手順

1. サーバーへのログイン

データベースサーバーのインストールには、root 権限でのコマンドライン作業が必要となります。
SSH による作業について」のページをご覧になり、サーバーにログイン後 root 権限に切替えてください。

2. PostgreSQL のインストール

PostgreSQL のインストール作業には root 権限が必要となりますで、su コマンドで root に切替えた後に下記を参考に作業を行ってください。
また、初期設定状態からサーバーの設定を変更されている場合には、この手順ではインストールができない場合がございます。

作業内容

  1. yum コマンドで必要なパッケージをインストールする
    yum install -y postgresql postgresql-server postgresql-pl
  2. PostgreSQL サーバーを実行する
    service postgresql start

実行例

[root@www ~]# yum install -y postgresql postgresql-server postgresql-pl
Setting up Install Process
Setting up repositories
・・・中略・・・
Installed: postgresql.i386 0:7.4.13-2.RHEL4.1 postgresql-pl.i386 0:7.4.13-2.RHEL
4.1 postgresql-server.i386 0:7.4.13-2.RHEL4.1
Dependency Installed: tcl.i386 0:8.4.7-2
Complete!
[root@www ~]# service postgresql start
Initializing database:                                     [  OK  ]
Starting postgresql service:                               [  OK  ]
[root@www ~]#

※ インストールされるバージョン等は実行例と異なる場合があります

3. アクセスコントロールとパスワード設定

インストール直後の PostgreSQL は、管理ユーザーにパスワードが設定されていません。かならず、パスワードの設定を行ってください。
また、アクセスコントロールの設定により UNIX ソケットからの接続のみ許可されており、利用している UNIX アカウントと同名の PostgreSQL ユーザーでの接続が無条件で可能です。
これを UNIX ソケットからの接続に対してパスワード認証が必要なようにアクセスコントロールを設定します。

作業内容

  1. su コマンドで PostgreSQL の管理ユーザーの postgres に切替える
    su - postgres
  2. psql コマンドで PostgreSQL に接続する
    データベースを作成する際の標準の雛形となる template1 テンプレートに対して設定を行います
    psql -U postgres template1
  3. psql コマンドラインより、ALTER コマンドで新しいパスワードを設定する
    newpassword には英数字の混在したわかりにくいパスワードを入力してください
    ALTER USER postgres WITH PASSWORD 'newpassword';
  4. psql コマンドを終了する
    \q
  5. postgres ユーザーを終了する
    exit
  6. アクセスコントロールを変更する
    /var/lib/pgsql/data/pg_hba.conf の local 接続の設定を以下のように変更してください
    local  all    all             md5   sameuser
  7. pgsql コマンドで PostgreSQL に接続できるか確認する
    psql -U postgres template1

実行例

[root@www ~]# su - postgres
-bash-3.00$ psql -U postgres template1
Welcome to psql 7.4.13, the PostgreSQL interactive terminal.
・・・中略・・・
template1=# ALTER USER postgres WITH PASSWORD 'newpassword';
ALTER USER
template1-# \q
-bash-3.00$ exit
logout
[root@www ~]# vi /var/lib/pgsql/data/pg_hba.conf
[root@www ~]# /etc/init.d/postgresql restart
Stopping postgresql service:                               [  OK  ]
Starting postgresql service:                               [  OK  ]
[root@www ~]# psql -U postgres template1
Password:
Welcome to psql 7.4.13, the PostgreSQL interactive terminal.
・・・中略・・・
template1=# \q

/var/lib/pgsql/data/pg_hba.conf の修正例

# PostgreSQL Client Authentication Configuration File
# ===================================================
#
# Refer to the PostgreSQL Administrator's Guide, chapter "Client
# Authentication" for a complete description.  A short synopsis
# follows.
・・・中略・・・
# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others)

local  all    all             md5

問題なくログインができれば、PostgreSQL のインストールは完了です。
PostgreSQL のご利用に関しては、「PostgreSQL 7.4.13 Documentation」をご覧ください。日本語訳に関しましては、若干バージョンが古いのですが「PostgreSQL 7.4.6 文書」をご覧ください。

PostgreSQL 活用メモ

PHP から利用するには

標準では PHP モジュールはインストールされません。PHP から PostgreSQL をご利用になられる場合には、yum コマンドで追加のパッケージをインストールする必要があります。
上記作業に続き、root 権限で以下の作業を行ってください。

作業内容

  1. yum コマンドで必要なパッケージをインストールする
    yum install -y php-pgsql
  2. httpd サーバーを再起動する
    service httpd restart

実行例

[root@www ~]# yum install -y php-pgsql
Setting up Install Process
Setting up repositories
・・・中略・・・
Installed: php-pgsql.i386 0:4.3.9-3.12
Complete!
[root@www ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[root@www ~]# 

※ インストールされるバージョン等は実行例と異なる場合があります

perl から利用するには

標準では perl モジュールはインストールされませんが、CentOS 4.3 では perl-DBI 用のモジュールが利用できます。perl から PostgreSQL をご利用になられる場合には、yum コマンドで追加のパッケージをインストールする必要があります。
上記作業に続き、root 権限で以下の作業を行ってください。

作業内容

  1. yum コマンドで必要なパッケージをインストールする
    yum install -y perl-DBD-Pg

実行例

[root@www ~]# yum install -y perl-DBD-Pg
Setting up Install Process
Setting up repositories
・・・中略・・・
Installed: perl-DBD-Pg.i386 0:1.31-6
Complete!
[root@www ~]# 

※ インストールされるバージョン等は実行例と異なる場合があります

phpPgAdmin のご利用について

PostgreSQL をより手軽に管理・運用するには、phpPgAdmin のご利用をおすすめします。
phpPgAdmin はウェブから PostgreSQL を操作でき、データベースの作成からデータの閲覧・編集までほとんどの作業を行うことができます。

phpPgAdmin のインストールガイドは、「phpPgAdmin のインストールについて」を参考にしてください。

データベースと権限について

PostgreSQL ではアプリケーションごとにデータベースを作成し利用することができます。また、データベースにアクセスするための権限も細かく設定が可能です。
ご利用になるアプリケーションごとに接続ユーザーを設定し、特定のデータベースやテーブルに対してのみ利用可能な権限を設定することによって、アプリケーションが攻撃を受けた際の影響を低くすることが可能になります。

接続ユーザーの作成・権限の設定は CREATE USER/GRANT/REVOKE コマンドでも設定可能ですが、phpPgAdmin を利用することで簡単に確認・設定ができます。コマンドでの設定に関しては、マニュアルの「Chapter 17. Database Users and Privileges(日本語訳:第 17章データベースユーザと権限)」を参考にしてください。



Copyright (c) GMO GlobalSign Holdings K.K. All Rights Reserved.