Postgre SQL
Opensource

Abstract#

Topics#

Visual Studio CodeでPostgreSQLに接続するプログラムを動かしたところ、エラーメッセージが文字化けして意味が分からなかった。"postgreSQL\9.*\data\postgresql.conf"のファイルにある、lc_messages = 'Japanese_Japan.932'を lc_messages = 'en_US'に変えるとうまく英語でログが出力される。この記事のおかげ[2]
とある事情があり、centos上で動いているPostgreSQLのデータベースをWindows上で動いているDBにコピーしたくなった。
バックアップデータは、dumpでとってあった。たぶんpg_dumpで取ったものだろう。
pgAdmin4でこのdumpを指定してみると、pg_restoreをやろうとするが、ユーザの指定とかパスワードとかがうまく動かない。
コマンドラインでやると、なにか怒られて、動かない。psqlを使いなさいと言われた。WindowsのPowerShellってうまく日本語でない。
マニュアルに書いてある以下のコマンドを打つと演算子"<"は予約されていて使えないとか。これもPowerShellのせい。。
# psql db_name < dump_file
動いたのは以下のコマンド。[1]のサイトを参考にしました。
# Get-Content dump_file | psql.exe -U username -d db_name

Reference#

  1. [#1]PowerShellのリダイレクト、http://blog.livedoor.jp/sire2/archives/51183609.html
  2. [#2]@katsu_suzuki , 2016年03月18日, PostgreSQL エラーメッセージが文字化け, https://qiita.com/katsu_suzuki/items/a2501a48325c9ce9559c