varchar too long strange problem
От | Gustavo Pérez |
---|---|
Тема | varchar too long strange problem |
Дата | |
Msg-id | 3F6A1508.5010504@est.fib.upc.es обсуждение исходный текст |
Список | pgsql-admin |
Hi, Looks like problems are following me . I'm having more problems restoring a database. That database was a part of a final studies, and right now I have to admin it. The problem now is that when I dump a relation with (which inherits from another) : /pg_dump prova -C -bv -f prova.dump -U psql -Ft (and custom '-Fc' format used too) and then restore a certain relation, the process of restoration vanishes with the following message : pg_restore: [archiver (db)] could not execute query: ERROR: value too long for type character varying(10) Checking the tables in the catalog, I found three fields which are defined as varchar(10), so I performed the following query in the psql client : SELECT length(field) FROM table; That shows me that no field has more than 10 characters. So while burning my eyes in front of the screen I thoguh about codification problems. I checked the codification of the database by using the psql-command : \l, which shows that the original database is using SQL_ASCII. So I tryed to create a brand new database like : /usr/bin/createdb -U postgres -T template0 -E SQL_ASCII prova1 and then tryed to restore it : pg_restore -v -Ft -U psql -d prova1 prova.dump Could it be a locale problem ? I don't think so, just because I'm using tar/custom format. Moreover I'm restoring the DB in the same machine where I created it, so these reasons make think that no non-unix characters may be added. I'm thinking of copying the entire table to a new with : SELECT * into new_table FROM old_table; and then creating a view called old_table (in order to keep working all the applications). But this is (IMHO) not a nice solution, just because I'd like to know the reason of the problem. May anyone help me with this ? I'll be very gratefully. Thanks in advance, Gustavo Pérez
В списке pgsql-admin по дате отправления: