Conversione di un database di PostgreSQL in UTF-8 è utile quando si desidera memorizzare i dati che non possono essere rappresentati utilizzando la codifica "LATIN1" predefinita, ad esempio testo arabo. UTF-8 è un popolare codifica per il set di caratteri Unicode, che è compatibile con la codifica ASCII tradizionale. A differenza di ASCII, la maggior parte delle lingue del mondo possono essere scritte utilizzando il set di caratteri UTF-8. Conversione di un database in UTF-8 è fatto dal dumping il contenuto corrente attraverso un parser di UTF-8, rimozione del cluster, creazione di un nuovo cluster e database con codifica UTF-8 e quindi importare i dati nel nuovo database.
Istruzioni
1
Esportare i dati con la codifica UTF-8 eseguendo il seguente comando al prompt di comando dalla directory di PostgreSQL:
pg_dump - BLOB - OID - encoding = UTF-8 MY_DB > MY_DB.utf8.sql
Sostituire "MY_DB" con il nome del database. Assicurarsi che tutti i servizi che utilizzano il database PostgreSQL siano spenti prima di esportare i dati.
2
Eliminare il cluster di PostgreSQL corrente e crearne uno nuovo che utilizza la codifica UTF-8 digitando i seguenti comandi:
pg_dropcluster - fermata $VERSION principale
pg_createcluster - inizio -e UTF-8 $VERSION main
La stringa "$VERSION" rappresenta la versione di PostgreSQL.
3
Creare un nuovo database con codificata UTF-8 digitando il seguente comando:
PSQL bryan < "CREATE DATABASE MY_DB con modello = template0 proprietario = mionomeutente ENCODING = 'UTF8';"
4
Impostare qualsiasi nome utente e la password che si desidera utilizzare il nuovo database o ripristinare il tuo quelli precedenti da uno script di backup.
5
Importare i dati convertiti nel nuovo database con codificata UTF-8 digitando il seguente comando:
PSQL - impostare ON_ERROR_STOP = il MY_DB < MY_DB.utf8.sql
Il nuovo database ora deve contenere i dati codificati con UTF-8.
Consigli & Avvertenze
- È consigliabile eseguire un backup completo del sistema prima di tentare di convertire il database di PostgreSQL in UTF-8.