[pgbr-geral] Replicação de base de produção diária

2015-11-23 Thread Gilberto Gonçalves Machado

Pessoal,

Nós aqui na empresa temos a necessidade de restaurar uma base diariamente com 
os dados de produção para que sejam desenvolvidas algumas correções de dados e 
fazer testes para depois serem aplicados em produção.

Ou seja, todo dia por volta das 22:00 é feito um dump de produção, e assim que 
o processo é finalizado é iniciado um restore da base em um outro servidor.

O ambiente muitas vezes é modificado estruturalmente e os dados dele durante o 
dia, porém no dia seguinte precisa iniciar com a estrutura e dados do ambiente 
de produção. Por isso a necessidade de restaurá-lo do zero diariamente com os 
dados de produção.

Alguém tem uma situação semelhante ou alguma idéia de um processo melhor? Pois 
atualmente esse processo está levando por volta de 9 horas.___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Replicação de base de produção diária

2015-11-23 Thread Glauco Torres
> Pessoal,
>
> Nós aqui na empresa temos a necessidade de restaurar uma base diariamente
> com os dados de produção para que sejam desenvolvidas algumas correções de
> dados e fazer testes para depois serem aplicados em produção.
>
> Ou seja, todo dia por volta das 22:00 é feito um dump de produção, e assim
> que o processo é finalizado é iniciado um restore da base em um outro
> servidor.
>
> O ambiente muitas vezes é modificado estruturalmente e os dados dele
> durante o dia, porém no dia seguinte precisa iniciar com a estrutura e
> dados do ambiente de produção. Por isso a necessidade de restaurá-lo do
> zero diariamente com os dados de produção.
>
> Alguém tem uma situação semelhante ou alguma idéia de um processo melhor?
> Pois atualmente esse processo está levando por volta de 9 horas.
>
>

Você esta usando a opção -j tanto do pg_dump e do pg_restore?

Se você já tiver usando a saída é utilizar PIRT, o barman[1] pode te ajudar
bastante com isso.

[1] http://www.pgbarman.org/

-
Glauco Torres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] PGBR2015 - Palestras

2015-11-23 Thread Rogerio Carvalho

Pessoal,

Primeiramente quero parabenizar a organização do PGBR2015 que foi 
muito boa, com palestras e tutoriais enriquecedores.

Gostaria de saber quando teremos acesso ao material das palestras.

[]'s

--
 


Rogério Cunha Carvalho
"Muitos são os planos no coração do homem, mas o que prevalece é o propósito do 
Senhor." Provérbios 19:21
"There are many plans in a man's heart; nevertheless the counsel of the LORD, that 
shall stand." Proverbs 19:21

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Replicação de base de produção diária

2015-11-23 Thread Gilberto Gonçalves Machado

Glauco,

Obrigado pelo retorno.

Sim, já utilizamos a opção -j.

Eu vi em uma palestra no PGBR a respeito do barman, vou dar uma olhada. 

Em 23 de nov de 2015 às 09:44, Glauco Torres  escreveu:


Pessoal,

Nós aqui na empresa temos a necessidade de restaurar uma base diariamente com 
os dados de produção para que sejam desenvolvidas algumas correções de dados e 
fazer testes para depois serem aplicados em produção.

Ou seja, todo dia por volta das 22:00 é feito um dump de produção, e assim que 
o processo é finalizado é iniciado um restore da base em um outro servidor.

O ambiente muitas vezes é modificado estruturalmente e os dados dele durante o 
dia, porém no dia seguinte precisa iniciar com a estrutura e dados do ambiente 
de produção. Por isso a necessidade de restaurá-lo do zero diariamente com os 
dados de produção.

Alguém tem uma situação semelhante ou alguma idéia de um processo melhor? Pois 
atualmente esse processo está levando por volta de 9 horas.



Você esta usando a opção -j tanto do pg_dump e do pg_restore?

Se você já tiver usando a saída é utilizar PIRT, o barman[1] pode te ajudar 
bastante com isso.

[1] http://www.pgbarman.org/

-
Glauco Torres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Replicação de base de produção diária

2015-11-23 Thread Euler Taveira
On 23-11-2015 08:32, Gilberto Gonçalves Machado wrote:
> Nós aqui na empresa temos a necessidade de restaurar uma base
> diariamente com os dados de produção para que sejam desenvolvidas
> algumas correções de dados e fazer testes para depois serem aplicados em
> produção.
> 
> Ou seja, todo dia por volta das 22:00 é feito um dump de produção, e
> assim que o processo é finalizado é iniciado um restore da base em um
> outro servidor.
> 
Você não informou a versão. A partir da 8.4 você consegue fazer a
restauração em paralelo e a partir da 9.3 você consegue fazer a cópia
(aka dump) em paralelo.

> Alguém tem uma situação semelhante ou alguma idéia de um processo
> melhor? Pois atualmente esse processo está levando por volta de 9 horas.
> 
Você não apresentou números (tamanho, número de tabelas, ...). E nem
relatou se há várias bases no _cluster_ e se todas elas vão ser replicadas.

Caso tenha que enviar (quase) todos os dados e o gargalo for justamente
o processo de cópia/restauração lógica, eu sugiro que você mude para
cópia/restauração física. Se os dados do dia anterior estiverem sendo
descartados, sugiro utilizar o rsync para acelerar o processo de cópia.


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PGBR2015 - Palestras

2015-11-23 Thread Dickson S. Guedes
On Mon, Nov 23, 2015 at 10:02:02AM -0200, Rogerio Carvalho wrote:
> Gostaria de saber quando teremos acesso ao material das palestras.

Estamos contatando os palestrantes e solicitando que enviem as
palestras para nos, tão logo estejam disponivel publicaremos 
no site e aqui.


[]s
Guedes




signature.asc
Description: Digital signature
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Fernando Cambiaghi
>
> Antes de chegarmos no nivel de escovar bits, recomendo que faça alguns
> testes com o teu volume de dados e avalie qual deles tem um melhor
> desempenho. Creio eu que comparação de números tende a ser mais eficiente
> que strings. Teste e voltamos a conversar, ok?
>
>
> Como vocês disseram nas palestras...contribuam...eu sou amador aqui perto
de vocês, mas gostaria de deixar minha consideração.
Aqui utilizamos para CPF e CNPJ varchar(14), mas isso é herança de 1997 e
não tenho ideia do trabalho que daria para alterar, mas fiz uns testes
baseados numa apresentação que li uma vez do Juliano Atanazio, e aqui está
o resultado:

select 'bigint', pg_size_pretty( sum(pg_column_size( 99::bigint
)) )
union
select 'char_14', pg_size_pretty( sum(pg_column_size(
'99'::char(14) )) )
union
select 'char_20', pg_size_pretty( sum(pg_column_size(
'99'::char(20) )) );

char_14  : 18 bytes
char_20  : 24 bytes
bigint  :  8 bytes

Achei interessante, e vai de encontro a resposta do Sebastian quanto a usar
numéricos.

Att,
Fernando Luís Cambiaghi.
(Analista de Sistemas Sênior)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Sebastian Webber
Em 23 de novembro de 2015 14:05, Fernando Cambiaghi 
escreveu:

> Antes de chegarmos no nivel de escovar bits, recomendo que faça alguns
>> testes com o teu volume de dados e avalie qual deles tem um melhor
>> desempenho. Creio eu que comparação de números tende a ser mais eficiente
>> que strings. Teste e voltamos a conversar, ok?
>>
>>
>> Como vocês disseram nas palestras...contribuam...eu sou amador aqui perto
> de vocês, mas gostaria de deixar minha consideração.
>

Não veja isso de forma negativa. Todos aqui podemos aprender auxiliando uns
aos outros. Não importa quão experiente seja.

Chegou a dar uma olhada nas URLs que te mandei? Vi que no modulo de
validações feito pelo guedes ele já implementa o tipo de dados cpf. e com
isso já facilita a validação do mesmo como numeric.



> Aqui utilizamos para CPF e CNPJ varchar(14), mas isso é herança de 1997 e
> não tenho ideia do trabalho que daria para alterar, mas fiz uns testes
> baseados numa apresentação que li uma vez do Juliano Atanazio, e aqui está
> o resultado:
>
> select 'bigint', pg_size_pretty( sum(pg_column_size(
> 99::bigint )) )
> union
> select 'char_14', pg_size_pretty( sum(pg_column_size(
> '99'::char(14) )) )
> union
> select 'char_20', pg_size_pretty( sum(pg_column_size(
> '99'::char(20) )) );
>
> char_14  : 18 bytes
> char_20  : 24 bytes
> bigint  :  8 bytes
>


:D


>
> Achei interessante, e vai de encontro a resposta do Sebastian quanto a
> usar numéricos.
>

Faça o teste da comparação e veja qual é mais eficiente.

Com fatos, fica fácil tomar a escolha correta. Ou pelo menos ter uma idéia
de qual seria a solução ideal.


-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] PGBR 2015

2015-11-23 Thread Fernando Ike
Olá,

  Gostaria de agradecer à todo que fizeram acontecer a Conferência
PostgreSQL Brasil 2015, dos participantes, palestrantes e organização.
Especialmente à organização por realizar o evento. :)

  Espero que ano que vem ocorra o evento novamente, afinal serão 10
anos!

  A, minha apresentação está no Slideshare[1].


[1] -
http://www.slideshare.net/fernandoike/a-postgersql-brasil-lista-caiu


P.S.: Desculpem o cross-posting. ;)

[]'s
--
Fernando Ike
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Dickson S. Guedes
On Mon, Nov 23, 2015 at 02:05:22PM -0200, Fernando Cambiaghi wrote:
> > Antes de chegarmos no nivel de escovar bits, recomendo que faça alguns
> > testes com o teu volume de dados e avalie qual deles tem um melhor
> > desempenho. Creio eu que comparação de números tende a ser mais eficiente
> > que strings. Teste e voltamos a conversar, ok?
> >
> >
>
> Como vocês disseram nas palestras...contribuam...eu sou amador aqui perto
> de vocês, mas gostaria de deixar minha consideração.
> Aqui utilizamos para CPF e CNPJ varchar(14), mas isso é herança de 1997 e
> não tenho ideia do trabalho que daria para alterar, mas fiz uns testes
> baseados numa apresentação que li uma vez do Juliano Atanazio, e aqui está
> o resultado:
> 
> select 'bigint', pg_size_pretty( sum(pg_column_size( 99::bigint
> )) )
> union
> select 'char_14', pg_size_pretty( sum(pg_column_size(
> '99'::char(14) )) )
> union
> select 'char_20', pg_size_pretty( sum(pg_column_size(
> '99'::char(20) )) );
> 
> char_14  : 18 bytes
> char_20  : 24 bytes
> bigint  :  8 bytes
> 
> Achei interessante, e vai de encontro a resposta do Sebastian quanto a usar
> numéricos.

Ola Fernando,

Eu li a sua premissa e a sua conclusão e não entendi, mas acho que voce quis
dizer que vai _ao_ encontro da resposta do Sebastian, já que, pelo que eu
entendi, vocẽ esta concordando com ele. Seria isso?

Outra coisa, voce chegou a testar com numeric(14) e ver o impacto? Voce pode
testar com numeros aleatorios tambem para avaliar. Se o fizer poste o resultado
para conhecimento de todos.

Em tempo, todos somos amadores e ignorantes em muitas coisas e mesmo assim
sempre poderemos contribuir com algo, por mais simples que seja.

[]s
Guedes


signature.asc
Description: Digital signature
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Guimarães Faria Corcete DUTRA , Leandro
2015-11-23 14:26 GMT-02:00 Sebastian Webber :
>
> Chegou a dar uma olhada nas URLs que te mandei? Vi que no modulo de
> validações feito pelo guedes ele já implementa o tipo de dados cpf. e com
> isso já facilita a validação do mesmo como numeric.

Sendo um pouco chato, mas no interesse da precisão, até onde entendi o
módulo — muito útil — implementa um DOMAIN SQL, o que não é um domínio
(!), portanto não é um tipo de dado; mas é a coisa mais parecida, e
útil, com um domínio de verdade.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Guimarães Faria Corcete DUTRA , Leandro
2015-11-22 22:47 GMT-02:00 Gerdan Rezende dos Santos :
> Cpf com zero?? O meu comeca assim 001... Te respondi???

Não.  Perguntei ‘que têm’, quer dizer, que diferença faz (dado tudo
que já conversamos até aqui).


> Transformação no banco custa, banco e pra armazanar e consultar

Armazenamento e consulta também custam.  A avaliar o que custa mais.
E outra: geralmente o gargalo num sistema é E/S, não processamento.
Portanto, geralmente vale a pena economizar armazenamento se o custo
em processamento não for exagerado.  E não parece ser.


> quer deixar bonito bota na aplicacao

A aplicação pode estar na base de dados também.  Aliás, é o melhor
lugar para ficar, garantindo consistência em qualquer uso, por
qualquer programa aplicativo, e compartilhando recursos com o resto do
servidor.


> se a mascara for executada no cliente melhor ainda...

Pior.  Quanto mais perto dos dados, melhor, tanto em velocidade
(latência, compartilhamento de recursos) quanto em consistência.


> Pq usar char?? Poderia comecar te dizendo pra ser ter um padrão no seu
> armazanamento...

Um padrão qualquer é melhor que padrão nenhum.  Mas um padrão
específico não é obviamente mais útil em si mesmo que um padrão
alternativo, sem alguma explicação.


> Ah qto a você me sacanear...

Não sacaneei nada.  Só achei que você seria capaz de contribuir ainda mais.


> Sua preoculpação deveria ser em ajudar ao colega

E foi.


> eu não sou dono da verdade!

Mas escreveu como se achasse ser.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PGBR 2015

2015-11-23 Thread Sebastian Webber
Em 23 de novembro de 2015 14:22, Fernando Ike  escreveu:

> Olá,
>
>   Gostaria de agradecer à todo que fizeram acontecer a Conferência
> PostgreSQL Brasil 2015, dos participantes, palestrantes e organização.
> Especialmente à organização por realizar o evento. :)
>

:D


>
>   Espero que ano que vem ocorra o evento novamente, afinal serão 10
> anos!
>

Quando será que podemos falar em pgbr2016? eu to interessado em ajudar. :D



-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Sebastian Webber
Em 23 de novembro de 2015 15:13, Guimarães Faria Corcete DUTRA, Leandro <
l...@dutras.org> escreveu:

> 2015-11-23 14:26 GMT-02:00 Sebastian Webber :
> >
> > Chegou a dar uma olhada nas URLs que te mandei? Vi que no modulo de
> > validações feito pelo guedes ele já implementa o tipo de dados cpf. e com
> > isso já facilita a validação do mesmo como numeric.
>
> Sendo um pouco chato, mas no interesse da precisão, até onde entendi o
> módulo — muito útil — implementa um DOMAIN SQL, o que não é um domínio
> (!), portanto não é um tipo de dado; mas é a coisa mais parecida, e
> útil, com um domínio de verdade.


Meu caro Dutra, segundo a doc[1], dá pra dizer que:

CREATE DOMAIN creates a new domain. A domain is essentially a data type
with optional constraints (restrictions on the allowed set of values) ...
...
Domains are useful for abstracting common constraints on fields into a
single location for maintenance. For example, several tables might contain
email address columns, all requiring the same CHECK constraint to verify
the address syntax. Define a domain rather than setting up each table's
constraint individually.


Chamamos isso de empate técnico? :D

[1] http://www.postgresql.org/docs/current/static/sql-createdomain.html





-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Guimarães Faria Corcete DUTRA , Leandro
2015-11-23 15:58 GMT-02:00 Sebastian Webber :
>
> Meu caro Dutra, segundo a doc[1], dá pra dizer que:
>
> CREATE DOMAIN creates a new domain. A domain is essentially a data type with
> optional constraints (restrictions on the allowed set of values) ...

Então, mais ou menos… esse é um ponto em que nossa documentação comete
um erro conceitual grosseiro.


> Domains are useful for abstracting common constraints on fields into a
> single location for maintenance.

Perfeito, mas não apenas.

O DOMAIN do SQL, que o PostgreSQL segue, não é domínio de verdade.
Creio que já (tentei) explicar isso aqui antes, mas como é um dos meus
assuntos favoritos, tentarei de novo:

Um domínio é uma lista de valores — conceitualmente, porque podem ser
valores contínuos (não discretos), caso em que a lista não pode ser
realizada; idem para domínios infinitos.  Um tipo de dados é um
domínio e seus operadores.

Por exemplo, no caso ‘em tela’ (jargão aqui de Brasília), um CPF é um
número de até onze caracteres, ou precisamente onze se o precedermos
de zeros.  Até onde eu saiba; perdoem alguma imprecisão no exemplo.  O
domínio CPF é constituído de todos os números de CPF válidos.  Como
apenas os nove números excluindo os dois dígitos verificadores à
direita são relevantes para gerar a lista, podemos dizer que o
domínio, a princípio, seria de 1 a 999.999.999, concatenados com os
respectivos dígitos verificadores.  No caso, suponho que 0 seja um
caso especial, ou seja, que não haja um CPF 0-XX onde XX seriam os DVs
correspondentes a 0.

Já o tipo de dados seriam os operadores correspondentes.  Não consigo
imaginar, de bate-pronto, algum operador que não seja o de identidade
(comparação para ver se é igual ou diferente); por exemplo, não me
parece fazer sentido querer concatenar, cortar, somar, subtrair,
multiplicar, dividir, comparar se maior ou menos &c.  Talvez
operadores para extrair os dígitos significativos (os nove excetuando
os DVs) e os dígitos verificadores.

O interessante a reter é que não faz sentido operar num determinado
domínio com operadores que não correspondam ao tipo.  Portanto, por
definição, uma definição de domínio tem de excluir operações de outros
tipos (por exemplo, concatenar ou multiplicar CPFs), ou que envolvam
outros domínios sem que sejam operações especificamente previstas para
o domínio em questão e outro domínio qualuqer (por exemplo, concatenar
um CPF com um CNPJ, ou multiplicar um CPF por um CNPJ).

Até onde já li e testei, um DOMAIN SQL não impede isso.  Teste; deve
ser possível CREATE TABLE cpf (cpf AS cpf);  com esse DOMAIN, e fazer
um SELECT cpf * 2 FROM cpf;, o que não seria possível com um domínio
de verdade.

Aproveitando para bater noutra tecla que me é cara, é por causa desse
tipo de problema de confusão conceitual (embora não desse problema
específico) que o SQL não é relacional: para começo de conversa, uma
tabela SQL não necessariamente é uma relação (que precisa de ao menos
uma chave natural), mas pode ser um saco (sem chave natural, ou seja,
não é um conjunto).


> For example, several tables might contain
> email address columns, all requiring the same CHECK constraint to verify the
> address syntax. Define a domain rather than setting up each table's
> constraint individually.

Ou seja, é útil mesmo sem ser um domínio: é um atalho para declarar
uma restrição de validação.


> Chamamos isso de empate técnico? :D
>
> [1] http://www.postgresql.org/docs/current/static/sql-createdomain.htm

Posso dizer que não é uma disputa, portanto não faz sentido falar em
empate?  ;-)


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] REF: Lendo tipo Bytea

2015-11-23 Thread Paulo
Olá Pessoal,

 

Tenho um campo tipo bytea, nele gravo um conteúdo XML.

Quando leio este conteúdo localmente retorna OK, porem em produção no
servido web ele retorna em Hexa.

 

Alguém pode dar uma dica ?

 

Att,

Paulo.

VisualP Sistemas

 

 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] REF: Lendo tipo Bytea

2015-11-23 Thread Rafael Fialho
Em 23 de novembro de 2015 16:34, Paulo 
escreveu:

> Olá Pessoal,
>
>
>
> Tenho um campo tipo bytea, nele gravo um conteúdo XML.
>
> Quando leio este conteúdo localmente retorna OK, porem em produção no
> servido web ele retorna em Hexa.
>
>
>
> Alguém pode dar uma dica ?
>

Verifique o parâmetro bytea_output de ambos os servidores. Creio que sejam
servidores/clusters distintos, correto?
O comando pode ser executado via psql mesmo: show bytea_output;
Provavelmente um deles deve ser escape e o outro hexa. Vale checar também
as versões, pois não tenho certeza de qual delas implementa o output em
hexadecimal como default.

[]'s
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] REF: Lendo tipo Bytea

2015-11-23 Thread Dickson S. Guedes
On Mon, Nov 23, 2015 at 04:34:18PM -0200, Paulo wrote:
> Olá Pessoal,
>
> Tenho um campo tipo bytea, nele gravo um conteúdo XML.
> 
> Quando leio este conteúdo localmente retorna OK, porem em produção no
> servido web ele retorna em Hexa.
> 
> Alguém pode dar uma dica ?

Indico a leitura da sessão apropriada [1] do manual do Postgres em que,
além de explicar alguns funcionamentos, voce verá tambem que a saida
gerada por um campo bytea pode ser diferente em função de uma 
configuração especifica. Você não comentou a versão do banco, sendo assim
caso não seja a ultima (9.4) troque "current" no link [1] pela
versão correspondente.

[1] http://www.postgresql.org/docs/current/static/datatype-binary.html

[]s
Guedes


signature.asc
Description: Digital signature
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Osvaldo Kussama
Em 23/11/15, Guimarães Faria Corcete DUTRA, Leandro escreveu:
> 2015-11-23 15:58 GMT-02:00 Sebastian Webber :
>>
>> Meu caro Dutra, segundo a doc[1], dá pra dizer que:
>>
>> CREATE DOMAIN creates a new domain. A domain is essentially a data type
>> with
>> optional constraints (restrictions on the allowed set of values) ...
>
> Então, mais ou menos… esse é um ponto em que nossa documentação comete
> um erro conceitual grosseiro.
>
>
>> Domains are useful for abstracting common constraints on fields into a
>> single location for maintenance.
>
> Perfeito, mas não apenas.
>
> O DOMAIN do SQL, que o PostgreSQL segue, não é domínio de verdade.
> Creio que já (tentei) explicar isso aqui antes, mas como é um dos meus
> assuntos favoritos, tentarei de novo:
>
> Um domínio é uma lista de valores — conceitualmente, porque podem ser
> valores contínuos (não discretos), caso em que a lista não pode ser
> realizada; idem para domínios infinitos.  Um tipo de dados é um
> domínio e seus operadores.
>
> Por exemplo, no caso ‘em tela’ (jargão aqui de Brasília), um CPF é um
> número de até onze caracteres, ou precisamente onze se o precedermos
> de zeros.  Até onde eu saiba; perdoem alguma imprecisão no exemplo.  O
> domínio CPF é constituído de todos os números de CPF válidos.  Como
> apenas os nove números excluindo os dois dígitos verificadores à
> direita são relevantes para gerar a lista, podemos dizer que o
> domínio, a princípio, seria de 1 a 999.999.999, concatenados com os
> respectivos dígitos verificadores.  No caso, suponho que 0 seja um
> caso especial, ou seja, que não haja um CPF 0-XX onde XX seriam os DVs
> correspondentes a 0.
>
> Já o tipo de dados seriam os operadores correspondentes.  Não consigo
> imaginar, de bate-pronto, algum operador que não seja o de identidade
> (comparação para ver se é igual ou diferente); por exemplo, não me
> parece fazer sentido querer concatenar, cortar, somar, subtrair,
> multiplicar, dividir, comparar se maior ou menos &c.  Talvez
> operadores para extrair os dígitos significativos (os nove excetuando
> os DVs) e os dígitos verificadores.
>
> O interessante a reter é que não faz sentido operar num determinado
> domínio com operadores que não correspondam ao tipo.  Portanto, por
> definição, uma definição de domínio tem de excluir operações de outros
> tipos (por exemplo, concatenar ou multiplicar CPFs), ou que envolvam
> outros domínios sem que sejam operações especificamente previstas para
> o domínio em questão e outro domínio qualuqer (por exemplo, concatenar
> um CPF com um CNPJ, ou multiplicar um CPF por um CNPJ).
>
> Até onde já li e testei, um DOMAIN SQL não impede isso.  Teste; deve
> ser possível CREATE TABLE cpf (cpf AS cpf);  com esse DOMAIN, e fazer
> um SELECT cpf * 2 FROM cpf;, o que não seria possível com um domínio
> de verdade.
>
> Aproveitando para bater noutra tecla que me é cara, é por causa desse
> tipo de problema de confusão conceitual (embora não desse problema
> específico) que o SQL não é relacional: para começo de conversa, uma
> tabela SQL não necessariamente é uma relação (que precisa de ao menos
> uma chave natural), mas pode ser um saco (sem chave natural, ou seja,
> não é um conjunto).
>
>
>> For example, several tables might contain
>> email address columns, all requiring the same CHECK constraint to verify
>> the
>> address syntax. Define a domain rather than setting up each table's
>> constraint individually.
>
> Ou seja, é útil mesmo sem ser um domínio: é um atalho para declarar
> uma restrição de validação.
>
>
>> Chamamos isso de empate técnico? :D
>>
>> [1] http://www.postgresql.org/docs/current/static/sql-createdomain.htm
>
> Posso dizer que não é uma disputa, portanto não faz sentido falar em
> empate?  ;-)
>
>

Olá Dutra:

Não sei se existe CPF 0-XX mas o CNPJ do Banco de Brasil é:
00.000.000/0001-91

Que, pelas suas considerações, seria um domínio de 0 a 
acrescido da filial, de 0001 a , e dos DV.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Guimarães Faria Corcete DUTRA , Leandro
2015-11-23 17:24 GMT-02:00 Osvaldo Kussama :
> Não sei se existe CPF 0-XX mas o CNPJ do Banco de Brasil é:
> 00.000.000/0001-91

Boa!  ;-)


> Que, pelas suas considerações, seria um domínio de 0 a 
> acrescido da filial, de 0001 a , e dos DV.

Exato.  Mais uma vez, imagino que não haja CNPJ 00.000.000/, ou filiais /.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Dickson S. Guedes
Em 21 de novembro de 2015 18:14, Flavio Henrique Araque Gurgel
 escreveu:
>
> http://pgxn.org/dist/validadores/

Esta extensão é antiga, criei ela no PGBR 2011 como demonstração e no
PGDay PR publiquei a mesma na PGXN em caráter de demonstração também.
Mas estamos em 2015 então criei vergonha na cara e coloquei o projeto
no Github [1] para quem quiser contribuir. :D


[1] https://github.com/guedes/validadores

Obrigado!
-- 
Dickson S. Guedes
mail/xmpp: gue...@guedesoft.net - skype: guediz
http://github.com/guedes - http://guedesoft.net
http://www.postgresql.org.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tipos de dados

2015-11-23 Thread Sebastian Webber
Em 23 de novembro de 2015 19:32, Dickson S. Guedes 
escreveu:

> Em 21 de novembro de 2015 18:14, Flavio Henrique Araque Gurgel
>  escreveu:
> >
> > http://pgxn.org/dist/validadores/
>
> Esta extensão é antiga, criei ela no PGBR 2011 como demonstração e no
> PGDay PR publiquei a mesma na PGXN em caráter de demonstração também.
> Mas estamos em 2015 então criei vergonha na cara e coloquei o projeto
> no Github [1] para quem quiser contribuir. :D
>
> [1] https://github.com/guedes/validadores


Quem sabe a gente não faz um esforço e já implementamos os caras que
faltam? E quero dizer CNPJ, titulo eleitor, telefone, etc e etc.

Eu já comecei a implementar o CNPJ[1]. Aproveitei a função pronta do
euler[2] e as mascaras que foram criadas nos links que mandei.

Partiu?

[1] https://github.com/guedes/validadores/pull/1
[2] https://wiki.postgresql.org/wiki/CNPJ







-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] RES: REF: Lendo tipo Bytea

2015-11-23 Thread Paulo
Rafael, Era exatamente isso. 

O pessoal do servidor remoto havia esquecido de setar para escape. 

 

Abraços.

Att,

Paulo.

 

 

De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de 
Rafael Fialho
Enviada em: segunda-feira, 23 de novembro de 2015 16:44
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] REF: Lendo tipo Bytea

 

 

 

Em 23 de novembro de 2015 16:34, Paulo  escreveu:

Olá Pessoal,

 

Tenho um campo tipo bytea, nele gravo um conteúdo XML.

Quando leio este conteúdo localmente retorna OK, porem em produção no servido 
web ele retorna em Hexa.

 

Alguém pode dar uma dica ?

 

Verifique o parâmetro bytea_output de ambos os servidores. Creio que sejam 
servidores/clusters distintos, correto?

O comando pode ser executado via psql mesmo: show bytea_output;

Provavelmente um deles deve ser escape e o outro hexa. Vale checar também as 
versões, pois não tenho certeza de qual delas implementa o output em 
hexadecimal como default.

 

[]'s 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] REF: Lendo tipo Bytea

2015-11-23 Thread Sebastian Webber
Em 23 de novembro de 2015 16:34, Paulo 
escreveu:

> Olá Pessoal,
>
>
>
> Tenho um campo tipo bytea, nele gravo um conteúdo XML.
>

Alguma razão em especial pra não utilizar o tipo de dados xml[1]?

Creio que seja mais simples trabalhar com o tipo de dados específico.

[1] http://www.postgresql.org/docs/9.4/static/datatype-xml.html

-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral