# サーバー移行及びPostgreSQLアップグレード手順書

{% hint style="danger" %}

* サーバー移行の際には、一度弊社へご連絡ください。
* 作業前に必ずバックアップを実施してください。
  {% endhint %}

**移行のみの場合の例**

<div align="left"><figure><img src="/files/ksGnz1JEyEmZYDUye38p" alt="" width="563"><figcaption></figcaption></figure></div>

**PostgreSQLアップグレードを含む場合の例**

<div align="left"><figure><img src="/files/fxx9jR5WO6YkT2HuZOTY" alt="" width="563"><figcaption></figcaption></figure></div>

## **必要なもの**

* 本手順書
* PostgreSQLアップグレードモジュール

{% hint style="success" %}
【PostgreSQLアップグレードモジュール について】

下記「モジュールダウンロード（PostgreSQL\*\*用）」より、移行先のPostgreSQLのバージョンのモジュールをダウンロードします。
{% endhint %}

{% hint style="info" %}

* [モジュールダウンロード（PostgreSQL14用）](https://cimtops-support.com/i-Reporter/ir_manuals/jp/manager/Tools14.zip)
* [モジュールダウンロード（PostgreSQL16用）](https://cimtops-support.com/i-Reporter/ir_manuals/jp/manager/Tools16.zip)
* [モジュールダウンロード（PostgreSQL18用）](https://cimtops-support.com/i-Reporter/ir_manuals/jp/manager/Tools18.zip)
  {% endhint %}

## **条件**

* バックアップダンプを出力できる領域があること。

  <div data-gb-custom-block data-tag="hint" data-style="success" class="hint hint-success"><p>出力先は外付けHDDでも可能です。</p></div>

## **手順概要**

**【移行元サーバー作業】**

1．移行元サーバーに接続できるPostgreSQLコマンドツール環境を構築

2．IISを停止

{% hint style="success" %}
**移行元のPostgreSQL（アップグレード先バージョン）サービス停止**

移行元のPostgreSQLサービスの停止は**本書の手順としては基本的には不要です**。\
手順1でコマンドツールのみでなく何らかの理由でアップグレードバージョンのPostgreSQLのサービスもインストール済みの場合は実施してください。
{% endhint %}

3．PostgreSQLのpg\_dumpを使用してバックアップダンプを出力

4．アプリケーションモジュールをバックアップ（コピー）し、ZIP圧縮

**【移行先サーバー作業】**

5．インストールセットを作成

6．インストールを実施

{% hint style="warning" %}
【注意事項】\
PostgreSQLに対応しているConMas Server(ConMas Manager) のバージョンは以下の通りです。

* PostgreSQL14 : ConMas Server 8.1.23040 以上
* PostgreSQL16 : ConMas Server 8.1.24070 以上
* PostgreSQL18：ConMas Server 8.2.26020 以上
  {% endhint %}

{% hint style="warning" %}
ConMas Server のアップデートを併せて実施する場合は、上記移行手順の途中で行わないでください。\
ConMas Server のアップデートは、予め行うか、上記移行手順をすべて実施した後に行ってください。
{% endhint %}

## **手順**

{% hint style="success" %}
PostgreSQLのアップグレードをしない場合は、手順 1．は不要です。\
手順 2．から進めてください。
{% endhint %}

### **【移行元サーバー作業】**

**1．移行元サーバーに接続できるPostgreSQLコマンドツール環境を構築します。**\
このとき、導入するPostgreSQLコマンドツールはアップグレード先のバージョンを導入します。\
必ず以下のどちらかの環境を構築します。\
\
【例】\
PostgreSQL11からPostgreSQL14へアップグレードする場合\
\
同一サーバー内に構築

<div align="left"><figure><img src="/files/EyPubMnVoFdwxMUhzfuD" alt="" width="375"><figcaption></figcaption></figure></div>

\
別サーバーで構築

<div align="left"><figure><img src="/files/K865iFslp6JTyNfpD94f" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
外部サーバーから接続する場合、移行元サーバーのPostgreSQLに対し外部接続を許可する設定を事前に実施します。\
実施手順は、下記マニュアルをご参照ください。\
▼ConMas Serverインストール手順書 ＞ [APサーバー（別ホスト）からの接続設定](/server-construction-maintenance/server-installation/server-installation.md#apsbhosutokarano)
{% endhint %}

{% hint style="success" %}
併せてWindowsファイアーウォールの設定も実施します。
{% endhint %}

\
PostgreSQLのコマンドツールをインストールします。\
PostgreSQLアップグレードモジュールのdbフォルダに内包しているexeファイルを実行します。\
PostgreSQL14のコマンドツールの場合、**postgresql-14.7-2-windows-x64.exe** です。

<figure><img src="/files/DzdlYkQ44a4UqTqzWjzO" alt=""><figcaption></figcaption></figure>

Command Line Toolsのみインストールします。

<div align="left"><figure><img src="/files/XjS0CyZOe6SqX2WFSSmc" alt="" width="375"><figcaption></figcaption></figure></div>

\
**2．IISを停止します。**\
※下記画像は WindowsServer2012R2 の例です。

<div align="left"><figure><img src="/files/GcNEdfGY4kCtsVwC16C2" alt=""><figcaption></figcaption></figure></div>

\
**3．PostgreSQLのpg\_dumpを使用してバックアップダンプを出力します。**\
以下のバッチを作成します。

***

chcp 65001\
SET PGPASSWORD=\[PostgreSQLパスワード]\
SET PGPATH=\[pg\_dump.exeまでのフルパス]\
SET DUMPDB=\[ダンプ出力するデーターベース名※既定ではirepodb]\
SET DUMPPATH=\[ダンプ出力ファイル名のフルパス]\
SET LOGPATH=\[ダンプ出力ログファイルのフルパス]\
SET PORT=\[PostgreSQLのポート番号※既定では5432]\
SET HOST=\[ダンプ出力するデーターベースのホストIPアドレス※同一サーバー上であれば localhost]

"%PGPATH%" -Fc -Z5 -c -h %HOST% -p %PORT% -U postgres -d %DUMPDB% -f %DUMPPATH% > %LOGPATH%\
echo errorlevel=%ERRORLEVEL% >> %LOGPATH%

***

\
【PostgreSQLをアップグレードする場合の記述例】\
※PostgreSQL12→PostgreSQL14へアップグレードする場合

<table><thead><tr><th width="165">環境変数</th><th>設定値</th></tr></thead><tbody><tr><td>PGPASSWORD</td><td>PostgreSQL11のパスワード</td></tr><tr><td>PGPATH</td><td>"<strong>PostgreSQL14</strong>"pg_dump.exeのフルパス。</td></tr><tr><td>DUMPPATH</td><td>ダンプファイルを出力するフルパス</td></tr><tr><td>LOGPATH</td><td>実行ログを出力する場所をフルパスで入力</td></tr><tr><td>PORT</td><td>PostgreSQL11のポート番号（既定では5432）</td></tr><tr><td>HOST</td><td>PostgreSQL11のホスト（IPアドレス）<br> ※同一サーバー上であれば、localhost</td></tr></tbody></table>

\
作成したバッチファイルを実行します。

{% hint style="success" %}
別サーバーにPostgreSQLコマンドツールをインストールした場合は、そのサーバー上で実行します。
{% endhint %}

\
実行後、LOGPATHで設定したファイルが生成されるので、メモ帳で成否を確認します。\
ログ内容がErrorLevel=0であれば成功です。<br>

\
**4．アプリケーションモジュールをバックアップ（コピー）し、ZIP圧縮します。**\
以下のフォルダーをコピーします。

<div align="left"><figure><img src="/files/T16WLdGlszqgcdFAyiLR" alt="" width="251"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
上記以外はコピーしないでください。
{% endhint %}

### 【**移行先サーバー作業】**

**5．インストールセットを作成します。**

{% hint style="success" %}
作業はサーバー上で実施する必要はありません。
{% endhint %}

手順 4．で取得したZIPを解凍し、フォルダー構成に以下の5つのフォルダーを作成します。

<div align="left"><figure><img src="/files/TuQNWiRJaRWdiDLazYFo" alt=""><figcaption></figcaption></figure></div>

※１　ap,dbフォルダーは、PostgreSQLアップグレードモジュールのap,dbフォルダーを配置します。\
※２　手順 3．で出力したdumpファイルをdbフォルダー配下に配置します。

**６．インストールを行います。**

手順 5．で作成したインストールセットを用いて、「[ConMas Server インストール手順書](/server-construction-maintenance/server-installation/server-installation.md)」の手順を実施します。

{% hint style="warning" %}
「ConMas Server インストール手順書」内の「初期データーの作成」を、以下の手順に差し替えて実施してください。
{% endhint %}

**初期データーの復元**

以下の内容でバッチファイルを作成し、環境変数を環境に合わせて変更します。

```
chcp 65001
SET PGPASSWORD=[PostgreSQLパスワード]
SET PGPATH=[pg_restore.exeまでのフルパス]
SET RESTOREDB=[リストア先のデータベース※既定はirepodb]
SET DUMPPATH=[リストアするダンプファイルのフルパス]
SET LOGPATH=[リストアログファイルのフルパス]
SET PORT=[PostgreSQLのポート番号※既定では5432]

"%PGPATH%" -h localhost -U postgres -p %port% -d %RESTOREDB% %DUMPPATH% > %LOGPATH% 2>&1
echo Restore ErrorLevel=%ERRORLEVEL% >> %LOGPATH% 
```

{% hint style="warning" %}
【注意点】

リストア先のデーターベースが空であることを確認して実行してください。

もしミスなどで再度リストアする場合は、DB削除（抹消）とDB生成を行った後に実施します。
{% endhint %}

バッチを実行します。\
実行するとLOGPATHで設定したファイルが生成されるので、メモ帳で成否を確認します。\
ログ内容がErrorLevel=0であれば成功です。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manuals.i-reporter.jp/server-construction-maintenance/maintenance/servermigration-and-postgresql-upgrade.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
