invalid byte sequence for encoding "UTF8"

/ db

postgresqlでスキーマを変更しようと、SQLを流したらエラー続出。

ERROR:  invalid byte sequence for encoding "UTF8": 0xba
ERROR:  invalid byte sequence for encoding "UTF8": 0xb4
ERROR:  invalid byte sequence for encoding "UTF8": 0xbc

調べてみると、このSQLインジェクションの脆弱性修正の影響のようだ。無効なマルチバイトは蹴られる、と。

ということで、PGCLIENTENCODINGを変更。

$ export PGCLIENTENCODING=SQL_ASCII

これでエラー無く流れた。おー。

普段はPGAdminなどのツールを使っているので気付かないけど、大量のDBのスキーマ変更しようと夜間バッチ流したりすると、こういうステキな問題に直面する。ぐあー、リハーサルで良かった。

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/451