본문 바로가기
Lecture/PostgreSQL

pgsql utf8 디비 생성시 오류

by 알 수 없는 사용자 2014. 7. 31.
반응형

실행

CREATE DATABASE coupon WITH OWNER = malluser ENCODING = 'UTF8' CONNECTION LIMIT = -1;


오류

ERROR:  new encoding (UTF8) is incompatible with the encoding of the template database (EUC_KR)

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


해결

Ok, below steps resolved the problem:

  1. First, we need to drop template1. Templates can’t be dropped, so we first modify it so t’s an ordinary database:

    UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';

  2. Now we can drop it:

    DROP DATABASE template1;

  3. Now its time to create database from template0, with a new default encoding:

    CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';

  4. Now modify template1 so it’s actually a template:

    UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';

  5. Now switch to template1 and VACUUM FREEZE the template:

    \c template1

    VACUUM FREEZE;

Problem should be resolved.

'Lecture > PostgreSQL' 카테고리의 다른 글

PGSQL 자료형  (0) 2012.12.04
PGSQL 기본 ( 계속 추가 예정 )  (0) 2012.12.04