docker-composeで日本語モードのPostgreSQLとpgAdmin4を起動するには

PostgreSQLを使用させて頂きたいとき。

docker-composeでpgAdminと同時起動すると、Webブラウザによるデータベースの管理が可能になり、利便性が大変高くなります。

一方、ロケールを指定せずにデータベースを起動すると、英語モードで動作するため、たとえば抽出条件が日本語の場合に問題が出たり、通貨の表示が「$(ドル)」になったり等、細かい動作で問題が出るようです。

docker-composeを使いつつ、ロケールを日本語にする設定を記録しておこうと思います。


日本語モードのPostgreSQL, pgAdmin4同時起動docker-compose.yaml

以前の(英語モードの)記事はこちらになります。

docker-compose.yamlファイルを少し手直しして、さらにDockerfileを作成しました。

  1. 新しいdocker-compose.yamlファイルを作成します。

    次の内容になります。volumesのラベル:zはSELinux対応のためです。

    使用するpostgresqlイメージのバージョン違いにより、6行目は「/var/lib/postgresql/data」が正しい場合と「/var/lib/postgresql」が正しい場合があるようです。docker-compose down後に内容が消えてしまう場合、調整する必要があるようです。
  2. Dockerfileを作成します。

    次の内容になります。
  3. イメージをビルドします。
  4. PostgreSQLとpgAdminを起動します。

日本語化はデータベース作成時に行う必要があります。既に英語版のデータベースが存在する場合、データベースをダンプ後、以前のデータが入っているpostgresqlディレクトリを削除、日本語版のデータベースに内容をリストアする必要があります。


これでTCPポート番号5432でPostgreSQL、ポート番号80と443でpgAdmin4が起動しました。

試しにmoney型のフィールドを持つテーブルを作ってみました。

pgAdminで表示したところ、ちゃんと「\(円)」表示になりました。

psqlコマンドも日本語になりますので、作業効率も上がりそうです。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク