Re: [pgbr-geral] Mesmo CHECK fica diferente na pg_constraint (PG 8 vs PG 9)

2012-11-12 Por tôpico Alexsander Rosa
Somente no 9.1 o default ficou sendo ON.


2012/11/12 Fabrízio de Royes Mello 

>
> Em 12 de novembro de 2012 17:43, Alexsander Rosa <
> alexsander.r...@gmail.com> escreveu:
>
> O ideal então é ligar o "standard_conforming_strings" no PG8, não?
>>
>>
> Sim, esse comportamento foi introduzido na 8.2 [1]. Veja a nota abaixo:
>
> "Enable 
> standard_conforming_strings
>  to
> be turned on (Kevin Grittner)
>
> This allows backslash escaping in strings to be disabled, making
> PostgreSQL more standards-compliant. The default is off for backwards
> compatibility, but future releases will default this to on."
> Vc terá que ter alguns cuidados ao escrever SQL com escapes utilizando o
> 'E' no inicio da string, para dizer ao banco que a mesma contém escapes,
> tipo:
>
> postgres=# SHOW standard_conforming_strings ;
>  standard_conforming_strings
> -
>  on
> (1 row)
>
> postgres=# SELECT 'Marca D\'Água';
> postgres'# ';
> ERROR:  syntax error at or near "';
> '"
> LINE 1: select 'Marca D\'Água';
>  ^
> postgres=#
> postgres=#
> postgres=# SELECT E'Marca D\'Água';
>?column?
> --
>  Marca D'Água
> (1 row)
>
>
> Com ele desligado sempre irá considerar o escape:
>
> postgres=# set standard_conforming_strings to off;
> SET
> postgres=# select 'Marca D\'Água';
>?column?
> --
>  Marca D'Água
> (1 row)
>
>
> Att,
>
> [1] http://www.postgresql.org/docs/8.2/static/release-8-2.html#AEN80530
>
> --
> Fabrízio de Royes Mello
> Consultoria/Coaching PostgreSQL
> >> Blog sobre TI: http://fabriziomello.blogspot.com
> >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
> >> Twitter: http://twitter.com/fabriziomello
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Atenciosamente,
Alexsander da Rosa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Mesmo CHECK fica diferente na pg_constraint (PG 8 vs PG 9)

2012-11-12 Por tôpico Fabrízio de Royes Mello
Em 12 de novembro de 2012 17:43, Alexsander Rosa
escreveu:

> O ideal então é ligar o "standard_conforming_strings" no PG8, não?
>
>
Sim, esse comportamento foi introduzido na 8.2 [1]. Veja a nota abaixo:

"Enable 
standard_conforming_strings
to
be turned on (Kevin Grittner)

This allows backslash escaping in strings to be disabled, making
PostgreSQL more
standards-compliant. The default is off for backwards compatibility, but
future releases will default this to on."
Vc terá que ter alguns cuidados ao escrever SQL com escapes utilizando o
'E' no inicio da string, para dizer ao banco que a mesma contém escapes,
tipo:

postgres=# SHOW standard_conforming_strings ;
 standard_conforming_strings
-
 on
(1 row)

postgres=# SELECT 'Marca D\'Água';
postgres'# ';
ERROR:  syntax error at or near "';
'"
LINE 1: select 'Marca D\'Água';
 ^
postgres=#
postgres=#
postgres=# SELECT E'Marca D\'Água';
   ?column?
--
 Marca D'Água
(1 row)


Com ele desligado sempre irá considerar o escape:

postgres=# set standard_conforming_strings to off;
SET
postgres=# select 'Marca D\'Água';
   ?column?
--
 Marca D'Água
(1 row)


Att,

[1] http://www.postgresql.org/docs/8.2/static/release-8-2.html#AEN80530

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Mesmo CHECK fica diferente na pg_constraint (PG 8 vs PG 9)

2012-11-12 Por tôpico Alexsander Rosa
O ideal então é ligar o "standard_conforming_strings" no PG8, não?


Em 12 de novembro de 2012 17:34, Matheus de Oliveira <
matioli.math...@gmail.com> escreveu:

>
>
> On Mon, Nov 12, 2012 at 5:25 PM, Alexsander Rosa <
> alexsander.r...@gmail.com> wrote:
>
>> PG 8.x:
>> "chk_descricao" CHECK (NOT desc_produto::text ~
>> '[*;\\x05C\\n\\r\\t]'::text)
>>
>> PG 9.x:
>> "chk_descricao" CHECK (NOT desc_produto::text ~ '[*;\x05C\n\r\t]'::text)
>>
>> Isso aparece como diferente na minha ferramenta de comparação:
>> SELECT consrc FROM pg_constraint WHERE conname = 'chk_descricao';
>>
>> Alguma sugestão?
>>
>>
> Parâmetro de configuração standard_conforming_strings deve estar "off" no
> PG 9.x para ficar igual ao anterior (não recomendado).
>
> Atenciosamente,
> --
> Matheus de Oliveira
> Analista de Banco de Dados PostgreSQL
> Dextra Sistemas - MPS.Br nível F!
> www.dextra.com.br/postgres
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Atenciosamente,
Alexsander da Rosa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Mesmo CHECK fica diferente na pg_constraint (PG 8 vs PG 9)

2012-11-12 Por tôpico Matheus de Oliveira
On Mon, Nov 12, 2012 at 5:25 PM, Alexsander Rosa
wrote:

> PG 8.x:
> "chk_descricao" CHECK (NOT desc_produto::text ~
> '[*;\\x05C\\n\\r\\t]'::text)
>
> PG 9.x:
> "chk_descricao" CHECK (NOT desc_produto::text ~ '[*;\x05C\n\r\t]'::text)
>
> Isso aparece como diferente na minha ferramenta de comparação:
> SELECT consrc FROM pg_constraint WHERE conname = 'chk_descricao';
>
> Alguma sugestão?
>
>
Parâmetro de configuração standard_conforming_strings deve estar "off" no
PG 9.x para ficar igual ao anterior (não recomendado).

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados PostgreSQL
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Mesmo CHECK fica diferente na pg_constraint (PG 8 vs PG 9)

2012-11-12 Por tôpico Alexsander Rosa
PG 8.x:
"chk_descricao" CHECK (NOT desc_produto::text ~ '[*;\\x05C\\n\\r\\t]'::text)

PG 9.x:
"chk_descricao" CHECK (NOT desc_produto::text ~ '[*;\x05C\n\r\t]'::text)

Isso aparece como diferente na minha ferramenta de comparação:
SELECT consrc FROM pg_constraint WHERE conname = 'chk_descricao';

Alguma sugestão?

-- 
Atenciosamente,
Alexsander da Rosa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral