その他

ログ

デフォルトの設定では、PowerGres Plus サーバ (postmaster) のログは、データベースクラスタディレクトリ内の log 以下にテキストファイルとして出力されるようになっています。 ただし、「サービスを起動した」といった情報は Windows のイベントログに出力されます。 また、設定でログ出力先を event_log に設定すると、PowerGres Plus サーバのログがすべてイベントログに出力されるようになります。

本節ではイベントログを見る手順を説明します。

  1. Windows のコントロールパネルから「システムとセキュリティ」を選択し、「管理ツール」以下の「イベント ログの表示」をクリックします。

  2. 「イベントビューア」が起動します。 この中で「Windows ログ」の「システム」からサービスに関するログが参照できます。 また、PowerGres Plus のログをイベントログに出力させている場合には「アプリケーション」からログが参照できます。

    PowerGres Plus のソースはデフォルトでは「PowerGresPlus13」となります。 ソースを「PowerGresPlus」でフィルタすることにより、PowerGres Plus のログのみを表示することができます。

core ダンプ

PostgreSQL では、データベースサーバのプロセスがクラッシュすると、OS がデータディレクトリに巨大な core ファイルを出力します。 このファイルは障害の調査には必要なものですが、データベースを格納するディスクの容量を圧迫してしまいます。

PowerGres Plus は、core ファイルを任意のディレクトリに格納できます。 また、出力するデータを限定することにより、core ファイルを小さくすることもできます。 この機能は、Windows のミニダンプ (またはクラッシュダンプ) でも利用できます。

core ファイルを出力するディレクトリとサイズを制御するために次のパラメータが postgresql.conf に用意されています。

core_directory (string)

core ファイルの出力先ディレクトリを絶対パスで指定します。 パラメータを指定しない場合、データディレクトリが指定されたものとみなします。 このパラメータはサーバ起動時のみ設定可能です。

core_contents (enum)

core ファイルに含める内容を指定します。 none を指定した場合、core_directory の設定にかかわらず core ファイルをダンプしません。 minimum を指定した場合、共有メモリの内容を core ファイルにダンプしません。 full を指定した場合、すべての内容を core ファイルにダンプします。 デフォルトは minimum です。 このパラメータはサーバ起動時のみ設定可能です。

また、PowerGres Plus では確実に core を採取するために pg_ctl-c オプションは無効となり、core_contents パラメータにのみ依存して core ファイルを採取します。

DB 情報取得ツール

DB 情報取得ツールは、PowerGres Plus に関するトラブル発生の際、調査 / 分析に必要なデータベース環境の情報を取得するためのツールです。

使用前の準備

DB 情報取得ツールの使用前に以下の設定を行ってください。

  1. 環境変数 PATH に、《PowerGres Plus をインストールしたディレクトリ》\bin を追加します。

  2. 環境変数 PGDATA に、データディレクトリを設定します。

  3. 環境変数 PGPORT に、通信ポート番号を設定します (省略した場合は 5432 になります)。

  4. PowerGres Plus を起動します。

    PowerGres Plus が停止している場合、取得できる情報が限定されます。

使用方法

コマンドプロンプトを管理者として起動し、以下のコマンドを実行します。

>pgx_getenvdata.bat [情報取得間隔(秒) 情報取得回数] [/RANGE:イベントログの取得範囲(時間)]

DB 情報取得ツールが取得する情報の一部は、複数回繰り返して取得することが可能です。

そうする場合は、第一パラメタに情報を取得する間隔を指定し、第二パラメタに情報を取得する回数を指定します。 これらを両方とも省略した場合、1 回だけ情報を取得します。 片方だけを省略することはできません。

複数回繰り返して取得することができる情報は、性能情報とコネクション情報、ロック情報です。

オプションとして、イベントログ情報の取得範囲を指定可能です。 数値を時間単位で指定し、現在までの指定した時間以内のイベントログ情報を取得します。 省略した場合、現在までの 8 時間以内のイベントログ情報を取得します。

出力情報

DB 情報取得ツール実行時のカレントディレクトリに取得した情報を格納したフォルダ (envdt{月日時分}) を出力します。

旧バージョンからの移行

同一バージョン系列内の移行手順

同一バージョン系列内の移行の場合は、データベースクラスタや設定をそのまま引き継ぐことができるので、データのダンプ・リストアを行う必要はありません。 PowerGres Plus V13 を最新版にするだけで、データ、設定を引き継いで使用できます。

  1. PowerGres Plus V13 を最新版にアップデートします。

    アップデートを行うには、アップデート先のバージョンに同梱の powergresplus-13.x-setup.exe を実行します。 アップデートは、一部のオプション (インストール先のフォルダ選択等) が変更できないことを除き、基本的に インストール と同様の手順になります。

アップデート時の注意
アップデートは PowerGres のサービスを停止した状態で行ってください。 サービスが起動中の場合には、ファイルを更新できずにアップデートが失敗する場合があります。 アップデートに失敗した場合には、いったんアンインストールしてからインストールしなおす必要があります。

PowerGres Plus V13 より前のバージョンからの移行

PowerGres Plus V13 より前のバージョンから移行する場合、データベースクラスタや設定は、そのままでは引き継ぐことができません。 いったんダンプ (バックアップ) を取り、こちらを V13 にてリストアする必要があります。

  1. PowerGres Plus V13 をインストールします。

    インストール方法については「インストールの手順」を参照して下さい。

  2. ダンプを取得します。

    稼働中の旧バージョンのデータベースクラスタに対して、新バージョンの pg_dumpall を使用してダンプを取得します。 以下のように実行します。

    > 《新バージョンインストール先》\bin\pg_dumpall -U postgres > dumpall.sql
    

    この際、他のユーザがアクセスできないようにアクセス制限 (pg_hba.conf を編集する等) をして下さい。

  3. 現在稼働中のサービスを停止します。

  4. 新たにデータベースクラスタを作成します。

    PowerGres Plus V13 のデータベースクラスタを新たに作成します。 管理ツールで行う場合、PowerGres Administration Tool マニュアル「サーバの作成」を参照して下さい。

    なお、新データベースクラスタを旧データベースクラスタと同じディレクトリパスに作成する場合は、旧データベースクラスタは移行が完了するまで削除せずに退避させることを推奨します。

  5. 新データベースクラスタでサービスを起動します。

    管理ツールで行う場合、 PowerGres Administration Tool マニュアル「サーバの起動」を参照して下さい。

  6. 取得したダンプファイルからデータをリストアします。

    ダンプファイルをリストアし、データを移行します。 管理ツールで行う場合、 PowerGres Administration Tool マニュアル「バックアップ・リストア」を参照して下さい。

    透過的データ暗号化機能を利用しているテーブル空間がダンプに含まれている場合、予めキーストアのオープンが必要です。 管理ツールで行う場合、 PowerGres Administration Tool マニュアル「透過的データ暗号化」を参照して下さい。 コマンドライン上でキーストアの操作を行う場合はこちらを参照して下さい。

  7. 設定の移行をします。

    設定の移行は、旧バージョンと新バージョン間でパラメータが異なる場合があるので、手動で行います。 パラメータ差異などを確認した上で、旧バージョンの設定ファイルを参考に新バージョンにて、適切な設定を行って下さい。 管理ツールで行う場合、PowerGres Administration Tool マニュアルの「設定」を参照して下さい。

  8. 旧バージョンをアンインストールします。

    移行後は、旧バージョンのアンインストールを行ってください。

付属ソフトウェアのインストール

pg_ivm

pg_ivmは、マテリアライズドビューの機能に高速増分更新を実現したビュー(IMMV)機能を利用可能とする拡張モジュールです。 本モジュールの機能の詳細につきましては pg_ivm の 開発ページ をご覧ください。

  1. pg_ivm 拡張を有効化

    psql コマンドラインより、以下を実行します。

    =# CREATE EXTENSION pg_ivm;
    CREATE EXTENSION
    =# \dx
                            List of installed extensions
      Name   | Version |   Schema   |                Description                 
    ---------+---------+------------+--------------------------------------------
     pg_ivm  | 1.2     | pg_catalog | incremental view maintenance on PostgreSQL
     plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language
    (2 rows)
    
    
  2. 動作確認

    =# CREATE TABLE t1 (i int primary key);
    CREATE TABLE
    =# SELECT create_immv('v1', 'SELECT * FROM t1');
    NOTICE:  created index "v1_index" on immv "v1"
     create_immv 
    -------------
               0
    (1 row)
    
    =# INSERT INTO t1 VALUES (1);
    INSERT 0 1
    =# SELECT * FROM v1;
     i 
    ---
     1
    (1 row)
    
    

    以上のように、動作を確認することができます。

PostGIS

PostGIS は地理情報を取り扱うためのモジュールです。 機能の詳細につきましては PostGIS プロジェクトの ホームページ をご覧ください。 PostGIS を利用する場合にはインストール時に PostGIS を選択する必要があります。

  1. PostGIS のデータ型や関数を作成

    psql コマンドラインより、以下を実行します。(\c はデータベース名指定)

    =# \c 《データベース名》
    データベース "《データベース名》" にユーザ"postgres"として接続しました。
    =# \encoding UTF8
    =# CREATE EXTENSION postgis;
    CREATE EXTENSION
    =# CREATE EXTENSION postgis_topology;
    CREATE EXTENSION
    
  2. 動作確認

    =# \d
                     List of relations
      Schema  |       Name        |   Type   |  Owner   
    ----------+-------------------+----------+----------
     public   | geography_columns | view     | postgres
     public   | geometry_columns  | view     | postgres
     public   | spatial_ref_sys   | table    | postgres
     topology | layer             | table    | postgres
     topology | topology          | table    | postgres
     topology | topology_id_seq   | sequence | postgres
    (6 rows)
    =# SELECT postgis_version();
                postgis_version
    ---------------------------------------
     3.2 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
    (1 row)
    

    以上のように動作を確認することができます。

textsearch_ja

textsearch_ja は形態素解析 (MeCab) を使用した日本語全文検索です。 textsearch_ja を利用する場合にはインストール時に textsearch_ja を選択する必要があります。

  1. 拡張 textsearch_ja のインストール

    psql コマンドラインより、以下を実行します。(\c はデータベース名指定)

    =# \c《データベース名》
    You are now connected to database "《データベース名》" as user "postgres".
    =# CREATE EXTENSION textsearch_ja;
    CREATE EXTENSION
    
  2. 動作確認

    =# \encoding sjis
    =# SELECT to_tsvector('japanese', 'すもももももももものうち');
          to_tsvector
    -----------------------
     'すもも':1 'もも':2,3
    (1 行)
    

    以上のように動作を確認することができます。 デフォルトの状態では UTF8 のデータベースで使用できます。

pg_bigm

pg_bigm は 2-gram (バイグラム) による全文検索モジュールです。 機能の詳細につきましては pg_bigm プロジェクトの ホームページ をご覧ください。

  1. 拡張 pg_bigm のインストール

    psql コマンドラインより、以下を実行します (\c はデータベース名指定)。

    =# \c 《データベース名》
    データベース "《データベース名》" にユーザ"postgres"として接続しました。
    =# CREATE EXTENSION pg_bigm;
    CREATE EXTENSION
    
  2. 動作確認

    =# SELECT show_bigm('PostgreSQLの全文検索');
                                show_bigm
    -----------------------------------------------------------------
     {の全,全文,文検,検索,"索 "," P",Lの,Po,QL,SQ,eS,gr,os,re,st,tg}
    (1 行)
    

    以上のように動作を確認することができます。

pgAdmin 4

pgAdmin 4 はデータベースサーバの運用と管理を支援する GUI 管理ツールです。 機能の詳細につきましては pgAdmin 4 プロジェクトの ホームページ をご覧ください。 pgAdmin 4 を利用する場合にはインストール時に pgAdmin 4 を選択する必要があります。

pgAdmin 4 を起動するには、スタート画面の「アプリ」を表示し、「PowerGres Plus 13」内の「pgAdmin 4」を選びます。

バックアップを行う場合
「ファイル」→「設定」→「パス」→「バイナリパス」→「PostgreSQL バイナリパス」を 《PowerGres インストール先ディレクトリ》\bin に置き換えてください。

お問い合わせ

株式会社SRA OSS
powergres-sales@sraoss.co.jp