Obrigado pelo esclarecimento, vou ter que ajustar isso mesmo.
Esse modelo tem 11 anos, foi feito no postgres 8.3 e na época eu não
tinha noção nenhuma do que estava fazendo.
Até a versão 9.0, embora a modelagem fosse falha o postgres não se
importava com isso e funcionava normalmente.
Acredito que tenha sido uma correção na versão 9.5 .
Em 24/01/2017 18:21, Euler Taveira escreveu:
On 24-01-2017 16:43, Irineu Raymundo wrote:
Migrei do postgres 9.0 para o 9.5 e algumas contraints que
referenciavam colunas do tipo varchar de tamanhos diferentes não aceitam
mais o valor.
Isso não tem haver com a migração. A sua modelagem está falha. Não se
usa tipos (e seus tamanhos, se tiver) diferentes em chaves (a não ser
que saiba o que está fazendo).
Há alguma coisa q possa ser feita além de dropar as visões, rules destas
tabelas e modificar os types dos campos?
A correção é alterar o tipo de uma das tabelas para que eles voltem a
ficar iguais novamente. Isso pode envolver corrigir outras partes do modelo.
ERROR: value too long for type character varying(7)
CONTEXT: SQL statement "UPDATE ONLY "com_02_01_07_a1_a1" SET
"cod_material" = $1 WHERE $2::pg_catalog.text OPERATOR(pg_catalog.=)
"cod_material"::pg_catalog.text"
Esse erro é consequência de uma atualização em ind_01_08.codigo com uma
string maior do que 7 caracteres.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral