If you've munged your template1 database, you can rebuild it from the template0 database.
First, you must set the datistemplate attribute of template1 to false so we can drop it:
xinu=# UPDATE pg_database SET datistemplate = false WHERE datname = 'template1'; UPDATE 1 xinu=# DROP DATABASE template1; DROP DATABASE
Next, re-create template1 using template0 as a template:
xinu=# CREATE DATABASE template1 WITH TEMPLATE = template0; CREATE DATABASE
Then restore the datistemplate attribute of template1:
xinu=# UPDATE pg_database SET datistemplate = true WHERE datname = 'template1'; UPDATE 1
debugginggotchapostgresqlpsqlrecoveryrestoresqltemplate