Nwlapcug.com


Come convertire PostgreSQL in UTF-8

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.