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

Responder a