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

Responder a