UPDATE pg_database SET datistemplate=FALSE WHERE datname='template1'; DROP DATABASE template1; CREATE DATABASE template1 WITH owner=postgres template=template0 encoding='UTF8'; UPDATE pg_database SET datistemplate=TRUE WHERE datname='template1';
At DjangoCon 2012 there was a speaker with ~20 years experience with PostgreSQL who said not to do this. The reason was you couldn't be sure all the data in your database currently was compatible with UTF8. However I think we were talking about different things. This tip does not affect existing databases, only any new databases you create afterwards. Don't be scared. It works and it's safe.