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

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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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