データベースをメンテナンスする

✔ 概要

ワークフローシステムを高いパフォーマンスを維持してご利用いただくために、データベースを定期的にメンテナンスしていただくことを推奨しています。
本項では、PostgreSQL と SQL Server をご利用いただく場合のデータベースのメンテナンス方法について説明します。

注意

本設定は、パッケージ版で利用できます。
クラウド版では利用できません。

PostgreSQL の場合

設定方法

PostgreSQLでは、2つのメンテナンス方法があります。
ワークフローシステムのパフォーマンスが低下した場合、最初に「不要領域の回収/統計情報の集計」を行っていただき、改善されない場合は「メモリ使用量の調整」を行なってください。

不要領域の回収/統計情報の集計

  • ワークフローシステムを停止 します。

  • 不要領域の回収と統計情報の集計を実施します。

    [インストールディレクトリ]/PostgreSQL/bin 内で、以下のコマンドを実行します。
    例)C:\CREATE_HOME\PostgreSQL\bin

    > vacuumdb -v -z -d xf -h localhost -U xfadmin
    

    パスワードを要求されますので、xfadmin のパスワードを入力します。

    xfadmin の初期パスワード:y3dTaaHIAH

    ヒント

    定期実行の際などに、パスワードを要求されないようにするには、ユーザーのホームディレクトリに以下の内容で「.pgpass」ファイルを作成します。(Windowsでは %APPDATA%\postgresql\pgpass.conf)

    • <ホスト名またはIP アドレス>:5432:xf:xfadmin:<パスワード>

    詳細は、ご利用のPostgreSQLのマニュアルを参照ください。

    ・PostgreSQL9.6をご利用の場合
     https://www.postgresql.jp/document/9.6/html/libpq-pgpass.html

    ・PostgreSQL14.1をご利用の場合
     https://www.postgresql.org/docs/14/libpq-pgpass.html

  • ワークフローシステムを起動 します。

メモリ使用量の調整

注意

  • 本設定は、ワークフローシステムの基本動作に影響を及ぼす内容となります。事前に十分な検証を行った上で実施ください。
  • 誤った設定を行うなど、本設定に起因する不具合については保守対象外となります。
  • ワークフローシステムを停止 します。

  • PostgreSQLを停止します。

  • 以下のファイルをテキストエディタで開きます。

    編集するファイル [インストールディレクトリ]\PostgreSQL\data\postgresql.conf
    例)C:\CREATE_HOME\PostgreSQL\data\postgresql.conf

    注意

    編集前に必ずバックアップを作成してください。

  • 下表のパラメータの値を変更します。

    設定項目 初期値(デフォルト値)
    shared_buffers 128MB
    temp_buffers なし(8MB) ※1
    work_mem なし(4MB) ※1
    wal_buffers なし(-1 or 64KB) ※1 ※2
    effective_cache_size なし(PostgreSQL9.6の場合:128MB、PostgreSQL 14.1の場合:4GB) ※1

    ヒント

    変更する値は、利用状況やサーバースペックにより異なります。
    ご利用のPostgreSQLのマニュアルを参照いただき、最適な値となるようご調整ください。

    ・PostgreSQL9.6をご利用の場合
     https://www.postgresql.jp/document/9.6/html/runtime-config-resource.html#runtime-config-resource-memory

    ・PostgreSQL14.1をご利用の場合
     https://www.postgresql.org/docs/14/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY

    注釈

    ※1 初期値が「なし」の設定は、設定項目がコメント化されています。変更する場合は、コメント化(#)を解除してください。

    例)「temp_buffers」のコメント化を解除する場合

    解除前 # temp_buffers = 8MB
    解除後 temp_buffers = 8MB

    ※2 PostgreSQL9.6およびPostgreSQL14.1使用時のデフォルト値-1は「shared_buffers」の1/32の容量となります。

  • PostgreSQLを開始します。

  • ワークフローシステムを起動 します。

SQL Server の場合

設定方法

以下の手順で、SQL Serverのインデックスをメンテナンスします。

ワークフローシステムの停止

インデックスの再構成/再構築

  • SQL Server Management Studioに、saでログインします。

  • データベース「xf」を右クリックし、以下のメニューを選択します。

    [レポート - 標準レポート - インデックスの物理統計]

  • 表示された物理統計レポート内の推奨されている動作に「再構築」、または「再構成」と表示されているテーブルがあるか確認します。
    以下の図では、テーブル「XSTATUS2.S_FLOW_NODE_STATUS_TBL」のインデックスに対して「再構築」が推奨されています。

  • インデックスが「再構築」または「再構成」と表示されているテーブルに対して、[テーブル - (該当のテーブル) - インデックス - (該当のインデックス)]と選択し、右クリックメニューで[再構築]、または[再構成]を選択します。(レポートで推奨されている操作を実施してください。)

ワークフローシステムの開始

ヒント

本項の実施内容は経年運用により定期的な実行が必要となります。
運用手順に組み込んで頂くか、断片化率の大きいテーブルについてはバッチ処理などで定期的に再構成/再構築することを推奨致します。

詳細は、以下の情報をご参照ください。
https://docs.microsoft.com/ja-jp/sql/relational-databases/indexes/reorganize-and-rebuild-indexes