Skip to content

Instantly share code, notes, and snippets.

@fgrehm
Created April 22, 2013 16:26
Show Gist options
  • Select an option

  • Save fgrehm/5436485 to your computer and use it in GitHub Desktop.

Select an option

Save fgrehm/5436485 to your computer and use it in GitHub Desktop.

Revisions

  1. fgrehm revised this gist Apr 22, 2013. 2 changed files with 8 additions and 20 deletions.
    8 changes: 8 additions & 0 deletions psqlfix.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    if ! $(psql template1 -c 'SHOW SERVER_ENCODING' | grep -q UTF8); then
    psql postgres -c "update pg_database set datallowconn = TRUE where datname = 'template0';"
    psql template0 -c "update pg_database set datistemplate = FALSE where datname = 'template1';"
    psql template0 -c "drop database template1;"
    psql template0 -c "create database template1 with template = template0 encoding = 'UTF8';"
    psql template0 -c "update pg_database set datistemplate = TRUE where datname = 'template1';"
    psql template1 -c "update pg_database set datallowconn = FALSE where datname = 'template0';"
    fi
    20 changes: 0 additions & 20 deletions psqlfix.txt
    Original file line number Diff line number Diff line change
    @@ -1,20 +0,0 @@
    mike@rbci:~$ psql -U postgres
    psql (9.0.3)
    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
  2. Mike Gunderloy created this gist Mar 19, 2011.
    20 changes: 20 additions & 0 deletions psqlfix.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    mike@rbci:~$ psql -U postgres
    psql (9.0.3)
    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