0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【pgAdmin】プロセスウォッチャーの文字化けについて

Last updated at Posted at 2025-10-30

1. はじめに

pgAdminでバックアップやリストアを行うと、プロセスウォッチャーに pg_dump, pg_restore などの標準出力・標準エラー出力が記載される。ここに表示される内容が文字化けした。関連記事が少ないため、症状と原因を整理する。

2. 事象

検証環境

  • Windows11 Pro 25H2
  • PostgreSQL 18.0(公式インストーラ 64ビット)
  • pgAdmin4 9.8(PostgreSQLに付属していたもの)

症状

文字化け無し

インストール直後に、PostgreSQLやpgAdminの設定を変更せずに、postgres のバックアップを行う。
プロセスウォッチャーを確認すると、文字化けしていなかった。

文字化け無し

文字化けあり

pgAdmin のバイナリパス設定を次のように変更する。

設定 データベースサーバ バイナリパス
変更前 PostgreSQL18 $DIR/../runtime
変更後 PostgreSQL18 C:\Program Files\PostgreSQL\18\bin

変更した設定を保存し、念のためpgAdminを再起動。
先ほどと同様に、postgres のバックアップを行う。
プロセスウォッチャーを確認すると、文字化けしていた。

文字化けあり

3. 原因

上記より、バイナリパスによる出力文字コードの違いである。
具体的には、次のような違いであると推測できる。

項目 bin/ 配下 runtime/ 配下
内容 PostgreSQL のバイナリ pgAdmin のバイナリ
実行環境 Windows システムロケール依存 pgAdmin 内部のランタイム依存
出力文字コード CP932 UTF-8

pgAdmin は出力を UTF-8 として処理しようとするため、文字コードの不一致で文字化けが発生した。
この症状が広く認知されていない(?)のは、文字コードの違いが影響する環境(ロケール設定が日本など)に限られるためと思われる。

4. 対処方法

現時点では、推奨できる対処方法が存在しない。

バイナリパスに $DIR/../runtime を設定している場合、外部の PostgreSQL のバックアップやリストアをするときに失敗することがある。そのため、バイナリパスに $DIR/../runtime を設定するのは、実用的な対処方法ではない。

ChatGPT にほかの対処方法があるか訊いたところ、環境変数を設定することで改善できるなどと回答が得られた。しかし、文字化けを環境変数で対応するというのも不自然な気がする。他のシステムにも影響を与えかねない設定の場合はなおさら。そのため、検証の必要も無いと判断。

5. まとめ

現状では、妥当な対処方法は無い。
GitHub の Issue にバグとして報告すれば、pgAdmin 側で改善してくれるかもしれない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?