【PostgreSQL】template1の文字コードを変更する
template1の文字コードを変更する
template1の文字コードを変更するには、直接変更ができません。
そのため一度template1データベースを削除した後、再作成することで変更が可能です。
--template1データベースを再作成(次の1から4をすべて実行)
--1.template1データベースをテンプレートから外す
UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
--2.template1データベースを削除
DROP DATABASE template1;
--3.template1データベースを作成
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 文字コード
LC_COLLATE = 'C' LC_CTYPE = 'C';
--4.template1データベースをテンプレートへ戻す
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';
※『3.template1データベースを作成』の箇所は変更したい文字コードを指定します。
指定できるエンコードはこちらを確認してください。
※ 4行一度に実行すると「DROP DATABASE cannot run inside a transaction block」エラーが、
発生するかもしれません。その場合は、1~4を一つずつ実行するとうまくいくと思うので、
試してみて下さい。