Aviso sobre uma string literal fora do padrão
Se em um certo momento encontrar o seguinte aviso no seu administrador do banco de dados:
WARNING: nonstandard use of \\ in a string literal
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
... é porque está utilizando uma string literal fora do padrão, ou seja, o comando sql não está errado mas pode estar em versões futuras.
Para entender melhor sobre string literal, acesse o link.
Agora, caso deseje não visualizar mais o aviso, você pode seguir uma dessas três soluções abaixo. Leia atentamente a todas elas para entender bem o que cada uma faz e qual se encaixe perfeitamente em seu caso.
1ª Solução
Abra o arquivo postgresql.conf que está localizado dentro da pasta data do PostgreSQL.
Procure pela linha:
standard_conforming_strings
Por padrão, é comentado pelo símbolo de número (#) e definido como off. Altere o valor para on e remova o símbolo ficando assim:
standard_conforming_strings = on
Em seguida salve o arquivo e reinicie o servidor.
Importante: Nesse caso as barras invertidas serão tratadas como caracteres normais e não como caracteres de escape.
2ª Solução
Essa pode ser a melhor solução, porém pode se tornar a mais trabalhosa.
Necessita preceder todas as strings literais que contem uma barra invertida com o valor "E".
Exemplo:
E'Primeira parte \n Segunda parte'
Importante: Caso queira que o valor não seja tratado como caractere de escape, basta substituir as barras invertidas simples por barras invertidas duplas.
3ª Solução
Para apenas ignorar os avisos é necessário alterar um valor.
Abra o arquivo postgresql.conf que está localizado dentro da pasta data do PostgreSQL.
Procure pela linha:
escape_string_warning
Por padrão, é comentado pelo símbolo de número (#) e definido como on. Altere o valor para off e remova o símbolo ficando assim:
escape_string_warning = off
Em seguida salve o arquivo e reinicie o servidor.
Isso vai se livrar das advertências. Barras invertidas simples serão tratados como caractere de escape.
Essa solução não é muito recomendada, como disse, o comportamento pode mudar em uma versão futura.
WARNING: nonstandard use of \\ in a string literal
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
... é porque está utilizando uma string literal fora do padrão, ou seja, o comando sql não está errado mas pode estar em versões futuras.
Para entender melhor sobre string literal, acesse o link.
Agora, caso deseje não visualizar mais o aviso, você pode seguir uma dessas três soluções abaixo. Leia atentamente a todas elas para entender bem o que cada uma faz e qual se encaixe perfeitamente em seu caso.
1ª Solução
Abra o arquivo postgresql.conf que está localizado dentro da pasta data do PostgreSQL.
Procure pela linha:
standard_conforming_strings
Por padrão, é comentado pelo símbolo de número (#) e definido como off. Altere o valor para on e remova o símbolo ficando assim:
standard_conforming_strings = on
Em seguida salve o arquivo e reinicie o servidor.
Importante: Nesse caso as barras invertidas serão tratadas como caracteres normais e não como caracteres de escape.
2ª Solução
Essa pode ser a melhor solução, porém pode se tornar a mais trabalhosa.
Necessita preceder todas as strings literais que contem uma barra invertida com o valor "E".
Exemplo:
E'Primeira parte \n Segunda parte'
Importante: Caso queira que o valor não seja tratado como caractere de escape, basta substituir as barras invertidas simples por barras invertidas duplas.
3ª Solução
Para apenas ignorar os avisos é necessário alterar um valor.
Abra o arquivo postgresql.conf que está localizado dentro da pasta data do PostgreSQL.
Procure pela linha:
escape_string_warning
Por padrão, é comentado pelo símbolo de número (#) e definido como on. Altere o valor para off e remova o símbolo ficando assim:
escape_string_warning = off
Em seguida salve o arquivo e reinicie o servidor.
Isso vai se livrar das advertências. Barras invertidas simples serão tratados como caractere de escape.
Essa solução não é muito recomendada, como disse, o comportamento pode mudar em uma versão futura.
Comentários
Postar um comentário