Slik konverterer PostgreSQL til UTF-8

Konvertering en PostgreSQL database til UTF-8 er nyttig når du ønsker å lagre data som ikke kan representeres ved hjelp av standard "latin1" koding, for eksempel arabisk tekst. UTF-8 er et populært koding for Unicode tegnsett, som er bakoverkompatibel med den tradisjonelle ASCII-koding. I motsetning til ASCII, kan de fleste av verdens språk skrives med UTF-8 tegnsett. Konvertering en database til UTF-8 er gjort ved å dumpe det gjeldende innholdet gjennom en UTF-8 parser, fjerne klyngen, og skaper en ny klynge og database med UTF-8-koding og deretter importere dataene til den nye databasen.

Bruksanvisning

1 Eksportere data med UTF-8-koding ved å kjøre følgende kommando ved ledeteksten fra din PostgreSQL katalogen:

pg_dump --blobs --oids --encoding = UTF-8 MY_DB> MY_DB.utf8.sql

Erstatt "MY_DB" med navnet på databasen. Pass på at alle tjenester som bruker PostgreSQL database er slått av før du eksporterer dine data.

2 Slipp gjeldende PostgreSQL klyngen og lage en ny en som bruker UTF-8-koding ved å skrive inn følgende kommandoer:

pg_dropcluster --stop $ VERSJON hoved

pg_createcluster --start -e UTF-8 $ VERSJON hoved

Den "$ VERSJON" streng representerer din PostgreSQL versjon.

3 Opprett en ny UTF-8-kodet database ved å skrive følgende kommando:

psql bryan < "CREATE DATABASE MY_DB med Template = template0 EIER = mittbrukernavn encoding = 'UTF8';"

4 Sett opp eventuelle brukernavn og passord du ønsker å bruke på den nye databasen eller gjenopprette forrige fra en backup script.

5 Importere de konverterte dataene til den nye UTF-8-kodet database ved å skrive følgende kommando:

psql --set ON_ERROR_STOP = på MY_DB <MY_DB.utf8.sql

Den nye databasen skal nå inneholde data som er kodet med UTF-8.

Hint

  • Det anbefales at du utfører en full system backup før du prøver å konvertere PostgreSQL database til UTF-8.