haiju's 開発メモ

開発に必要な情報を自分用にメモ

PostgreSQLでデータベース作成時に、new collation (Japanese_Japan932) is incompatible with the collation of the template database (C)

仕事で担当の人がWindows10でPostgreSQLのデータベースを作成する

バッチファイルを作りました!と教えてくれたので、早速、試したら

タイトルのエラーが発生して「なんじゃこれはー?」と思ったので

調べて自分環境用にスクリプトから呼ばれるSQLクエリーを修正した

件を備忘録としてまとめてみる。

そもそも、Windows10だからってSJIS前提でインストールするのどうなの?

とか、共通環境なしで個別環境でXAMPPを使うってどうなの?

と思ったけど、そこは会社の方針に依るので、まぁ仕方ない(Φω|

でもWebサイトの開発で文字コードSJISは違和感あるなー。

[前提]

自分は、PostgreSQLをローカルのXAMPP以下にインストールした時、

エンコーディングにUTF8、Locale='C'を設定した。

[エラーが発生したコマンド]

create database test01 with encoding 'UTF8' lc_collate='Japanese_Japan932' lc_ctype='Japanese_Japan932'; 

[エラー発生内容]

ERROR: new collation (Japanese_Japan932) is incompatible with the collation

of the template database (C).

HINT: Use the same collation as in the template database, or use template0 as 

template.

[解決策]

以下の実行前に、pgAdmin4で既に作成されたschema,role,databaseを

それぞれ削除しておく。

create database test01 with encoding 'UTF8' template template0  lc_collate='Japanese_Japan932' lc_ctype='Japanese_Japan932'; 

※これは暫定的に直しただけなので、次に問題が発生したらアンインストール

+再インストールでLocaleにC以外を設定するとこからやらないといかんかも

しれん・・・

[参考サイト]

symfoware.blog.fc2.com

symfoware.blog.fc2.com

lets.postgresql.jp

asazure.hatenablog.jp

jp.alibabacloud.com

 

codeday.me

www.compose.com