Rebuild template1
A colleague of mine got his template1 corrupted and I just told him to recreate it from template0. But there's a catch of course, template1 being a template database.
The quick fix for this is to connect as superuser, set template1 as not being a template database, drop and recreate the template1 from template0:
$ psql -U postgres postgres postgres=# update pg_database set datistemplate = false where datname='template1'; UPDATE 1 postgres=# drop database template1; DROP DATABASE postgres=# create database template1 template=template0; CREATE DATABASE postgres=# update pg_database set datistemplate = true where datname='template1'; UPDATE 1 postgres=#
I also found an old, but not outdated, article by Josh Berkus about pretty much the same issue, explaining it more thorough, on the PostgreSQL Wiki.
Kommentarer
Trackback