PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PG::Error:FEHLER:neue Kodierung (UTF8) ist nicht kompatibel

Ok, die folgenden Schritte haben das Problem gelöst:

  1. Zuerst müssen wir template1 löschen. Vorlagen können nicht gelöscht werden, also ändern wir sie zuerst so, dass sie eine gewöhnliche Datenbank ist:

    UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';

  2. Jetzt können wir es löschen:

    DROP DATABASE template1;

  3. Jetzt ist es an der Zeit, eine Datenbank aus template0 mit einer neuen Standardkodierung zu erstellen:

    CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';

  4. Ändern Sie jetzt template1 so, dass es tatsächlich eine Vorlage ist:

    UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';

  5. Wechseln Sie nun zu Template1 und VACUUM FREEZE das Template:

    \c template1

    VACUUM FREEZE;

Problem sollte gelöst werden.