PR

ストリーミング・レプリケーションの紹介

2011年10月20日(木)
那賀 樹一郎(なか きいちろう)

PostgreSQL 9.1 のインストール

イメージをつかむために、まずは1台のホスト上にプライマリノードとスタンバイノードの両方を作成して動かしてみようと思います。

今回は、OSには Linux を使用します。Linux ディストリビューションとしては、Red Hat Enterprise Linux 6.0 の互換ディストリビューションである Scientific Linux 6.0 を使います。Scientific Linux 6.0 の標準の PostgreSQL パッケージのバージョンは 8.4 であるため、かわりに、コミュニティによってビルドされたバージョン 9.1 のバイナリパッケージを使用します。

今回はストリーミング・レプリケーションに焦点を当てますので、直接には関係しない SELinux と iptables を無効にしておきます。実運用で用いる場合には、これらも適切に設定することになるかと思われます。

  [root@node1 ~]# getenforce
  Disabled
  [root@node1 ~]# chkconfig iptables off
  [root@node1 ~]# service
  iptables stop
  iptables: ファイアウォールルールを消去中:                  [  OK  ]
  iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
  iptables: モジュールを取り外し中:                          [  OK  ]
  [root@node1 ~]#

続いて、yum コマンドを用いてパッケージをインストールします。PostgreSQL の公式サイトでも触れられているように、コミュニティベースの yum レポジトリがありますので、まずは対象ディストリビューションと PostgreSQL のバージョンに合ったレポジトリ設定ファイルをインストールします。

※このレポジトリからは、クエリ負荷分散を行う PgPool-II や、柔軟なステートメントベースでのレプリケーションツールである Slony-I、GUI クライアントの pgAdmin-III、強力な地理情報システム拡張である PostGIS などの有用なパッケージも容易に導入することができます。

まずはこのサイトを確認して、使用する OS 環境と使用したい PostgreSQL のバージョンから、適切な yum レポジトリ設定をインストールします。

  [root@node1 ~]# rpm -Uvh http://www.pgrpms.org/reporpms/9.1/pgdg-sl91-9.1-6.noarch.rpm
  (中略)
    1:pgdg-sl91              ########################################### [100%]
  [root@node1 ~]# 

もしすでに標準の PostgreSQL 8.4 がインストールされているようであれば、アンインストールをしておきます。

  [root@node1 ~]# rpm -e postgresql-server
  [root@node1 ~]# rpm -e postgresql

PGDG のレポジトリから、PostgreSQL 9.1 のクライアントとサーバのパッケージをインストールします。

  [root@node1 ~]# yum install postgresql91 postgresql91-server
   (中略) 
   Installed:
      postgresql91.x86_64 0:9.1.1-1PGDG.rhel6
      postgresql91-server.x86_64 0:9.1.1-1PGDG.rhel6
   
   Dependency Installed:
      postgresql91-libs.x86_64 0:9.1.1-1PGDG.rhel6
      
   Complete!
   [root@node1 ~]#

これらのパッケージはシステムデフォルトのサービスを起動するようになっていますが、今回はそれらを利用せず、手作業や keepalived サーバ経由で起動をするので、オフにしておきます。

  [root@node1 ~]# chkconfig postgresql-9.1 off
  [root@node1 ~]# service postgresql-9.1 stop

以上で、パッケージの準備は終了です。念のため、yum のレポジトリファイルをアンインストールしておきます。

  [root@node1 ~]# rpm -e pgdg-sl91
  [root@node1 ~]#
著者
那賀 樹一郎(なか きいちろう)

サイオステクノロジー株式会社にて、PostgreSQL/Postgres Plus の製品担当として、サポートサービス、コンサルティング、トレーニング等を行う。Linux ディストリビューションベンダーで培った、OSS プロダクトのソースコードレベルでのソフトウェア解析技術を生かして業務にあたる。

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています