Em 27 de abril de 2016 12:08, Euler Taveira <[email protected]> escreveu:
> On 27-04-2016 11:40, Joel Benelli wrote: > > lc_messages = 'C' não alterou o comportamento, também apresentou > 'DETALHE'. > > > DETALHE aparece usando o que? Seja mais específico. > > Acho que sei o que está acontecendo. Veja: > > $ echo $LANG > pt_BR.utf8 > psql (9.5.2) > Digite "help" para ajuda. > > joel=# show lc_messages; > lc_messages > ------------- > pt_BR.utf8 > (1 registro) > > joel=# update pgbench_branches set bid = 7 where bid = 1; > ERRO: atualização ou exclusão em tabela "pgbench_branches" viola > restrição de chave estrangeira "pgbench_tellers_bid_fkey" em > "pgbench_tellers" > DETALHE: Chave (bid)=(1) ainda é referenciada pela tabela > "pgbench_tellers". > joel=# set lc_messages to 'C'; > SET > joel=# update pgbench_branches set bid = 7 where bid = 1; > ERROR: update or delete on table "pgbench_branches" violates foreign > key constraint "pgbench_tellers_bid_fkey" on table "pgbench_tellers" > DETALHE: Key (bid)=(1) is still referenced from table "pgbench_tellers". > joel=# \q > > Mesmo alterando o lc_messages para C, ainda temos "DETALHE". O problema > é que essa mensagem vem da libpq (que por sua vez usa o lc_messages do > ambiente -- no meu caso é pt_BR.utf-8). Se eu alterar o lc_messages do > ambiente (via LANG), eu terei "DETALHE" como "DETAIL". Veja: > > $ LANG=C psql joel > psql (9.5.2) > Type "help" for help. > > joel=# show lc_messages; > lc_messages > ------------- > pt_BR.utf8 > (1 row) > > joel=# update pgbench_branches set bid = 7 where bid = 1; > ERRO: atualização ou exclusão em tabela "pgbench_branches" viola > restrição de chave estrangeira "pgbench_tellers_bid_fkey" em > "pgbench_tellers" > DETAIL: Chave (bid)=(1) ainda é referenciada pela tabela > "pgbench_tellers". > joel=# set lc_messages to 'C'; > SET > joel=# update pgbench_branches set bid = 7 where bid = 1; > ERROR: update or delete on table "pgbench_branches" violates foreign > key constraint "pgbench_tellers_bid_fkey" on table "pgbench_tellers" > DETAIL: Key (bid)=(1) is still referenced from table "pgbench_tellers". > > Portanto, você terá que alterar a língua do ambiente para ter "DETAIL". > > > -- > Euler Taveira Timbira - http://www.timbira.com.br/ > PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Resolvido, era este o problema; após executar no SO o comando SET LANG=C passou a apresentar "DETAIL" na mensagem. Obrigado a todos pela atenção.
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
