【PostgreSQL】 インポートできないじゃん

サーバー移行のためデータを下記コマンドでバックアップし

pg_dump dbname> /tmp/dbnamebk

他のサーバにインポートと下記のようにしたら
createdb dbname
psql dbname< /tmp/dbnamebk

ERROR: invalid byte sequence for encoding “EUC_JP”: 0x8e97

ってエラーが返ってきてあるテーブルのインポート
ができてませんでした。

調べてみると
postgresのバージョンが新サーバでは
が上がっているので
EUC-JPの文字コードはSQLインジェクション等の
セキュリティー対策のため文字コードの取り込み制限
を強化しているとのことでした。
ひとつひとつ直してこーと思ったのですが、いっぱいあったので、無理。結局EUC-JPではインポートせずに
UTF-8でデータベースを取り込むとうまくいきました。
ただそうしてしまうとPHPはEUC-JPでできているので
データベースとの連携がうまくゆきませんでした。
そこで、postgreSQL.confを開き
下記の行を追加し

client_encoding = EUC_JP

postgreSQLを再立ち上げしました。
su
su – postgres
pg_ctl -m f stop
pg_ctl -w start



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 



シェアする

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

フォローする