Novità -- problema Cinese in DB UTF8

From: "ciifrancesco(at)tiscali(dot)it" <ciifrancesco(at)tiscali(dot)it>
To: <pgsql-it-generale(at)postgresql(dot)org>
Subject: Novità -- problema Cinese in DB UTF8
Date: 2013-08-14 07:45:28
Message-ID: 8015825.7251376466328701.JavaMail.defaultUser@defaultHost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-it-generale

Allora,
ho fatto i seguenti passi:
1. ho modificato i template in modo che anche essi siano:

Name | Owner | Encoding | Collate | Ctype | Access privileges
----------+-------+----------+-------------+-------------+-------------------
postgres | pedro | UTF8 | it_IT.UTF-8 | it_IT.UTF-8 |
mioDB | pedro | UTF8 | it_IT.UTF-8 | it_IT.UTF-8 |
template0 | pedro | UTF8 | it_IT.UTF-8 | it_IT.UTF-8 |
template1 | pedro | UTF8 | it_IT.UTF-8 | it_IT.UTF-8 |


Non mi piacciono i nomi di nazioni o lingue per del testo universale, ma da quanto ho capito, qualsiasi collate o Ctype/Collate che finisce per UTF-8 va bene (+ dettagli nella guida in PS che metto perché può essere utile a qualcuno).

2. ho fatto un dump. Siccome non avevo memoria sufficiente, ho dovuto farlo compresso:
pg_dump dbname | gzip > filename.gz3. ho quindi eliminato mioDB e l'ho ricreato come si vede sopra, con collate e Ctype corretti

4. quindi cerco di rimettere i dati nel DB:
gunzip -c filename.gz | psql dbnamema il DB risulta vuoto a dispetto della lunghezza dell'operazione e l'assenza di errori. Usare il metodo
cat filename.gz | gunzip | psql dbnamenon cambia niente. Entrambi sono su http://www.postgresql.org/docs/9.1/static/backup-dump.html
mioDB=# \dv
No relations found.

Se avete qualche idea...
Francesco

PS
per convertire i template dò questa procedura, che in italiano non facilmente si trova. Devo fare una forte critica a google, che nonostante avessi fatto delle ricerche usando parole chiave simili, non mi ha portato alle pagine con questa procedura. Credo sia a causa delle ricerche personalizzate che fanno arrivare utenti diversi a risultati diversi, ma così facendo oscurano una parte del web o la rendono più irraggiungibile, come per me la pagina https://gist.github.com/ffmike/877447 -- dalla quale mi sono ispirato e che ho completato per modificare anche i collate e ctype dei template:

postgres # update pg_database set datallowconn = TRUE where datname = 'template0';
postgres # \c template0
template0 # update pg_database set datistemplate = FALSE where datname = 'template1';
template0 # drop database template1;
template0 # create database template1 with template = template0 encoding = 'UTF8' LC_COLLATE = 'it_IT.UTF-8' LC_CTYPE = 'it_IT.UTF-8';
template0 # update pg_database set datistemplate = TRUE where datname = 'template1';
template0 # \c template1
template1 # drop database template0;
template1 # create database template0 with template = template1 encoding = 'UTF8' LC_COLLATE = 'it_IT.UTF-8' LC_CTYPE = 'it_IT.UTF-8';
template1 # drop database postgres;
template1 # create database postgres with template = template1 encoding = 'UTF8' LC_COLLATE = 'it_IT.UTF-8' LC_CTYPE = 'it_IT.UTF-8';
template1 # update pg_database set datallowconn = FALSE where datname = 'template0';

(idem se usate altri template per sapere i formati supportati dalla vostra macchina, ad esempio it_IT.UTF-8 digitate il comando locale, ovviamente su linux)

Invita i tuoi amici e Tiscali ti premia! Il consiglio di un amico vale più di uno spot in TV. Per ogni nuovo abbonato 30 € di premio per te e per lui! Un amico al mese e parli e navighi sempre gratis: http://freelosophy.tiscali.it/

Responses

Browse pgsql-it-generale by date

  From Date Subject
Next Message Gianni Ciolli 2013-08-16 11:39:51 Re: Novità -- problema Cinese in DB UTF8
Previous Message Gianni Ciolli 2013-08-12 08:58:35 Re: Novità -- problema Cinese in DB UTF8