Kort sagt kan du ikke gøre dette med kun phpPgAdmin eller SQL uden at risikere eksisterende datakorruption .Du skal eksportere alle data, oprette database med korrekt kodning og gendanne eksporterede data.
Sådan skal du gå videre:
-
opret databasedump :
pg_dump your_database > your_database.sql
dette vil gemme din database i sql-format, i den kodning, du har i øjeblikket.
-
slet database (eller omdøb det):
DROP DATABASE your_database
hvis du har nok lagerplads til at gøre det, anbefaler jeg, at du forlader den gamle database, indtil du sikrer dig, at alt er OK med den nye, omdøb det:
ALTER DATABASE your_database RENAME TO your_database_backup;
-
opret database med ny kodning :
CREATE DATABASE your_database WITH ENCODING 'UNICODE' TEMPLATE=template0;
-
importer data fra dump oprettet før :
PGCLIENTENCODING=YOUR_OLD_ENCODING psql -f your_database.sql your_database
du skal indstille psql-klientkodning til en du havde i den gamle database.
Ændring af kodning undervejs er ikke mulig, da det ville kræve omskrivning af de fleste interne databasedata, hvilket næsten svarer til at genskabe db som jeg beskrev.
Det er muligt blot at ændre interne postgres-oplysninger om databasen, og alle nye data efter denne ændring vil blive gemt korrekt, men dine eksisterende data kan blive beskadiget .