Last Updated: February 25, 2016
·
2.282K
· phaus

Change postgres default template0 to UTF8 encoding

foo@bar$ psql -U postgres
psql (9.2.1)
Type "help" for help.

postgres=# update pg_database set datallowconn = TRUE where datname = 'template0';
UPDATE 1

postgres=# \c template0
You are now connected to database "template0".

template0=# update pg_database set datistemplate = FALSE where datname = 'template1';
UPDATE 1

template0=# drop database template1;
DROP DATABASE

template0=# create database template1 with template = template0 encoding = 'UTF8';
CREATE DATABASE

template0=# update pg_database set datistemplate = TRUE where datname = 'template1';
UPDATE 1

template0=# \c template1
You are now connected to database "template1".

template1=# update pg_database set datallowconn = FALSE where datname = 'template0';
UPDATE 1