Re: [pgbr-geral] Função em C

2010-10-28 Por tôpico Euler Taveira de Oliveira
mateusgra escreveu:
 #include postgres.h
 
 #include utils/builtins.h
 
 /* convert C string to text pointer */
 #define PG_TEXT_GET_STR(textp_) \
 DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp_)))
 #define PG_STR_GET_TEXT(str_) \
 DatumGetTextP(DirectFunctionCall1(textin, CStringGetDatum(str_)))
 #define PG_REPLACE_STR(str_, substr_, replacestr_) \
 PG_TEXT_GET_STR(DirectFunctionCall3(replace_text, \
   
   PG_STR_GET_TEXT(str_), \
   
   PG_STR_GET_TEXT(substr_), \
   
   PG_STR_GET_TEXT(replacestr_)))
 
As funções DirectFunctionCallX() sempre retornam Datum. Portanto, não precisa
converter de text para Datum. Utilize:

#define PG_STR_GET_TEXT(str_) \
DirectFunctionCall1(textin, CStringGetDatum(str_))
#define PG_REPLACE_STR(str_, substr_, replacestr_) \
DirectFunctionCall3(replace_text, \
PG_STR_GET_TEXT(str_), \
PG_STR_GET_TEXT(substr_), \
PG_STR_GET_TEXT(replacestr_))


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/

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


[pgbr-geral] Escolha do método de replicação

2010-10-28 Por tôpico Thiago Godoi
Pessoal,

Preciso escolher o melhor método de replicação para utilizar , se puderem me
ajudar, o caso é o seguinte :

Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com
bases sendo geradas a todo momento. Já possuimos um servidor pronto para
receber uma versão de produção do banco, ou seja, algumas bases que seriam
utilizadas por clientes , onde o desempenho não seja prejudicado pelas
escritas.

Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema seria
que se algo desse errado no desenvolvimento seria imediatamente replicado
para o server de produção) e fiquei na duvida se o desempenho seria bom(pois
há carga 24x7). A outra seria o server de produção possui uma base
atualizada diariamente (incremental?) durante a noite (entre 0h e 6h) ,
existe alguma forma fácil de fazer isso?


Agradeço desde já,


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


Re: [pgbr-geral] Sobre curso PostgreSQL HA

2010-10-28 Por tôpico Victor Hugo
Diogo,

Nada contra a dextra, mas eu fiz na 4Linux e gostei muito.

[]´s
victor hugo

Em 27 de outubro de 2010 16:49, Diogo Borsoi diogobor...@gmail.com escreveu:
 Pessoal,

 Esta é minha 1a. mensagem no grupo.
 Gostaria de saber se o curso
 http://www.dextra.com.br/servicos/treinamento/pg/postgres-alta-disponibilidade.htm
 nesta empresa de treinamento é recomendado e se alguém tem outra sugestão.


 Att.

 --
 =
 Diogo Borsoi
 =

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




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


Re: [pgbr-geral] Sobre curso PostgreSQL HA

2010-10-28 Por tôpico Euler Taveira de Oliveira
Thiago Godoi escreveu:
 Outro detalhe é que pelas ementas se não estou enganado , esse curso da
 4linux engloba 2 da Dextra performance-tuning e alta disponibilidade.
 
A ementa e material foi montada por mim no ano passado. O curso realmente
engloba tanto tuning quanto soluções de alta disponibilidade/replicação.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Escolha do método de replicação

2010-10-28 Por tôpico JotaComm
Olá,

Em 28 de outubro de 2010 12:49, Thiago Godoi thiagogodo...@gmail.comescreveu:

 Pessoal,

 Preciso escolher o melhor método de replicação para utilizar , se puderem
 me ajudar, o caso é o seguinte :

 Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com
 bases sendo geradas a todo momento. Já possuimos um servidor pronto para
 receber uma versão de produção do banco, ou seja, algumas bases que seriam
 utilizadas por clientes , onde o desempenho não seja prejudicado pelas
 escritas.

 Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema
 seria que se algo desse errado no desenvolvimento seria imediatamente
 replicado para o server de produção) e fiquei na duvida se o desempenho
 seria bom(pois há carga 24x7). A outra seria o server de produção possui uma
 base atualizada diariamente (incremental?) durante a noite (entre 0h e 6h) ,
 existe alguma forma fácil de fazer isso?


Vamos lá. Acredito que você não deva replicar coisas de desenvolvimento para
produção. Uma coisa é teste/desenvolvimento e outra é produção.

Por que replicar de teste para produção? Isso pode ser um risco não?




 Agradeço desde já,


 --
 Thiago Godoi

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



[]s
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tabela Gigante

2010-10-28 Por tôpico Charly Batista
Em outra mensagem você colocou Não é simples demais para uma tabela que
terá milhões de registros ???...

O problema não é simplicidade. Na verdade, simplicidade geralmente é a
melhor prática!

O pessoal aqui falou sobre a tal Chave Natural... mas o que vem a ser uma
chave natural??

Durante o processo de modelagem, identificamos atributos ou combinação de
atributos que identificam cada ocorrência (registro) como único. Cada uma
dessas combinações é conhecida como chave candidata. As chaves candidatas
identificam a ocorrência como única, mas precisamos eleger uma delas como
chave primária.

Vamos pegar como exemplo a provável entidade pessoa_fisica abaixo:

create table pessoa_fisica (
id_pessoa
cpf
nome
pai
mae
... )

Dentre os atributos acima, podemos eleger como candidatas os atributos
id_pessoa e cpf.

Cpf, neste caso é a chamada chave natural, visto que a mesma foi
introduzida pelo usuário e diz respeito ao negócio, já id_pessoa é
uma chave artificial, que é controlada pelo banco e não diz respeito ao
negócio, por isso ser artificial. Mas qual a melhor escolha?

Existem várias vantagens e desvantagens associadas à essa escolha. Muitas
vezes, isso levando-se em conta chaves compostas, chaves artificiais
economizam espaço nos índices e nas colunas quando repassadas a FKs e chave
naturais costumam economizar em JOINs (se repassamos a chave natural para
outras tabelas, talvez não precisemos fazer um JOIN) e principalmente no
fato de conter em si uma informação da tupla, ou seja, ela diz exatamente o
que é e a que serve.

Em todo caso, um dos grandes dilemas entre chaves artificiais e chaves
naturais é a volatilidade de tuas regras de negócio. Se você escolhe uma
chave natural e hoje a combinação dela é única, o que fazer com o seu modelo
de dados se amanhã ela não for unica? Seria muito ruim sair remendando o
modelo.

Logo, na minha humilde visão, não incluiria os termos certo e errado em
se utilizar uma chave natural em detrimento de uma chave artificial, mas
sim, ao teu modelo de negócios o que é melhor? Na maioria dos casos, chaves
naturais são a melhor escolha, mas como maioria não significa todos, você
deve rever teu modelo de negócios e claro, dar uma boa estudada nos
conceitos e processos envolvidos em modelagem de dados.


Att,


-- 
Charly Batista
Administrador de Banco de Dados
http://javadevilopers.blogspot.com/
charlyfra...@gmail.com
Linux user #391083

Se você tem uma maçã e eu tenho uma maçã e nós trocamos essas maçãs, então
eu e você ainda teremos uma maçã cada. Mas se você tiver uma idéia e eu
tiver uma idéia e nós trocamos idéias, então cada um de nós terá duas
idéias.
  George Bernard Shaw (1856-1950)


Em 28 de outubro de 2010 00:19, Emerson Moretto emore...@gmail.comescreveu:

 260.000 é piada para o PostgreSQL, mesmo para realizar buscas.

 Eu trabalho com um banco com 46 milhões de registros em uma única
 tabela usando PostgreSQL. Não é o banco principal, é de redundância,
 mas ele aguenta muito bem, desde que com índices bem feitos.

 No meu caso:

 - Desnormalizei tudo, usei tudo em uma única tabela e não faço nenhum
 join. (sim, repliquei colunas.. campos vazios... etc)

 - Separei os campos principais de buscas em mais de um campo. E
 coloquei índice para todos esses campos. Ex: nome_completo -
 primeiro_nome, ultimo_nome.

 Então,
 # select * from tabela where primeiro_nome = 'Jose' and ultimo_nome =
 'Silva';
 de certa forma, fica como se fosse um like e ao mesmo tempo com muito
 desempenho.

 - Criei esses índices de nomes usando o próprio valor do campo no
 índice. O PostgreSQL por default faz um hash do valor para melhor uso
 de memória e a comparação.

 Pra fazer isso:
 # create index idx_nome on tabela (nome varchar_pattern_ops);

 Esse varchar_pattern_ops que faz isso acontecer

 Com isso, a consulta:
 # SELECT * FROM tabela WHERE nome LIKE 'JOS%'
 utiliza o índice para fazer o LIKE.

 Dessa forma, a busca será muito rápida (te garanto, no meu caso ficou
 em ~25 ms), mas esse LIKE só vai funcionar para quando a busca iniciar
 com determinado valor. LIKE '%ANA%' ou  LIKE '%ANA' vão funcionar, mas
 fazendo full scan.


 Enfim, tudo que fiz nesse meu case escrevi nesse post:
 http://www.emersonmoretto.com/articles/tag/postgres%209

 * Não sou especialista em PostgreSQL, apenas admiro, defendo e uso
 desde a versão 7.2
 ** Espero ter ajudado e não ter te confundido mais


 att
 Emerson Moretto


 2010/10/27 Listas lis...@arsweb.net.br
 
 
 
  Olá Pessoal,
 
  Sou programador em PHP e utiliso o mysql para fazer meus sistemas,
 
  bom, estou desenvolvendo um sistema on-line de uma lista telefonica e
 resolvi usar o postgresql como banco de dados.
 
  Porém, estou com dúvidas de como fazer a tabela no banco.
 
  A tabela va conter de arrancada 260.000 registros
 
  Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep,
 cidade, estado, anuncio, etc )
 
  Gostaria de saber como criar esta tabela, a estrutura, tipo
 auto_increment,  ja 

[pgbr-geral] Res: Escolha do método de replic ação

2010-10-28 Por tôpico Renato Ricci
Thiago, creio que o hot-standby não irá funcionar da maneira que você deseja, 
pois um banco neste estado não aceita transações pois ele roda somente em 
read-only. A não ser que você queira usar apenas para consulta. 

Att.,
 __
Renato R. Ricci
Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio 
Ambiente. O Futuro está em Nossas Mãos!





De: Thiago Godoi thiagogodo...@gmail.com
Para: pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 28 de Outubro de 2010 12:49:34
Assunto: [pgbr-geral] Escolha do método de replicação

Pessoal,

Preciso escolher o melhor método de replicação para utilizar , se puderem me 
ajudar, o caso é o seguinte :

Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com bases 
sendo geradas a todo momento. Já possuimos um servidor pronto para receber uma 
versão de produção do banco, ou seja, algumas bases que seriam utilizadas por 
clientes , onde o desempenho não seja prejudicado pelas escritas.

Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema seria 
que 
se algo desse errado no desenvolvimento seria imediatamente replicado para o 
server de produção) e fiquei na duvida se o desempenho seria bom(pois há carga 
24x7). A outra seria o server de produção possui uma base atualizada 
diariamente 
(incremental?) durante a noite (entre 0h e 6h) , existe alguma forma fácil de 
fazer isso?


Agradeço desde já,


-- 
Thiago Godoi



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


Re: [pgbr-geral] Sobre curso PostgreSQL HA

2010-10-28 Por tôpico Diogo Borsoi
Pessoal,

Obrigado pelas opiniões.

On 10/28/2010 01:26 PM, Euler Taveira de Oliveira wrote:
 Thiago Godoi escreveu:

 Outro detalhe é que pelas ementas se não estou enganado , esse curso da
 4linux engloba 2 da Dextra performance-tuning e alta disponibilidade.

  
 A ementa e material foi montada por mim no ano passado. O curso realmente
 engloba tanto tuning quanto soluções de alta disponibilidade/replicação.




-- 
=
Diogo Borsoi
Cel: +55 (12) 9143-6960
http://diborsoi.wordpress.com/
=

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


Re: [pgbr-geral] Res: Escolha do método de replica ção

2010-10-28 Por tôpico Thiago Godoi
Hum creio que usei a palavra errada então, não seria uma replicação.

Seria migrar as atualizações para o banco de produção. Porém um detalhe que
não havia citado antes, o banco de produção será usado somente para
consultas.

Em 28 de outubro de 2010 13:40, Renato Ricci
renatoricc...@yahoo.com.brescreveu:

 Thiago, creio que o hot-standby não irá funcionar da maneira que você
 deseja, pois um banco neste estado não aceita transações pois ele roda
 somente em read-only. A não ser que você queira usar apenas para consulta.

 Att.,


 __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio
 Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 12:49:34
 *Assunto:* [pgbr-geral] Escolha do método de replicação

 Pessoal,

 Preciso escolher o melhor método de replicação para utilizar , se puderem
 me ajudar, o caso é o seguinte :

 Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com
 bases sendo geradas a todo momento. Já possuimos um servidor pronto para
 receber uma versão de produção do banco, ou seja, algumas bases que seriam
 utilizadas por clientes , onde o desempenho não seja prejudicado pelas
 escritas.

 Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema
 seria que se algo desse errado no desenvolvimento seria imediatamente
 replicado para o server de produção) e fiquei na duvida se o desempenho
 seria bom(pois há carga 24x7). A outra seria o server de produção possui uma
 base atualizada diariamente (incremental?) durante a noite (entre 0h e 6h) ,
 existe alguma forma fácil de fazer isso?


 Agradeço desde já,


 --
 Thiago Godoi



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




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


[pgbr-geral] Res: Res: Escolha do método de replicação

2010-10-28 Por tôpico Renato Ricci
Thiago, deixa eu ver se entendi.. você tem um ambiente de desenvolvimento onde 
você faz alterações físicas e lógicas no banco de dados. O que você quer fazer 
é 
aplicar essas alterações em um banco de produção? O que você vai querer aplicar 
no banco de produção? Somente o DDL? Ou as informações geradas em 
desenvolvimento tb? Se você usar um hot-standby, você poderá replicar DDL e 
informações (cópia fiel do banco) para produção. Não sei como isso impactaria 
no 
seu ambiente ai, pois você estará aplicando as alterações no banco de produção 
mas a aplicação (.exe ou alguma aplicação web) ainda ficará antiga. Se for 
alterações somente em Functions, triggers, views, ai de boa..

Geralmente as empresas costumam usar um banco hot-standby mais para 
contingência, ou seja, caso der algum problema no banco de produção, esse banco 
hot-standby assumiria a brinca. Geralmente tem-se os seguintes ambientes:

Desenvolvimento  Produção (Processo feito manualmente através de aplicação de 
scripts com alterações necessárias)
Produção (transacional)  hot-standby (automático)

T+
__
Renato R. Ricci
Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio 
Ambiente. O Futuro está em Nossas Mãos!





De: Thiago Godoi thiagogodo...@gmail.com
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 28 de Outubro de 2010 14:25:49
Assunto: Re: [pgbr-geral] Res: Escolha do método de replicação

Hum creio que usei a palavra errada então, não seria uma replicação.

Seria migrar as atualizações para o banco de produção. Porém um detalhe que não 
havia citado antes, o banco de produção será usado somente para consultas.


Em 28 de outubro de 2010 13:40, Renato Ricci renatoricc...@yahoo.com.br 
escreveu:

Thiago, creio que o hot-standby não irá funcionar da maneira que você deseja, 
pois um banco neste estado não aceita transações pois ele roda somente em 
read-only. A não ser que você queira usar apenas para consulta. 


Att.,
 __
Renato R. Ricci
Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio 
Ambiente. O Futuro está em Nossas Mãos!






De: Thiago Godoi thiagogodo...@gmail.com
Para: pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 28 de Outubro de 2010 12:49:34
Assunto: [pgbr-geral] Escolha do método de replicação


Pessoal,

Preciso escolher o melhor método de replicação para utilizar , se puderem me 
ajudar, o caso é o seguinte :

Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com bases 
sendo geradas a todo momento. Já possuimos um servidor pronto para receber uma 
versão de produção do banco, ou seja, algumas bases que seriam utilizadas por 
clientes , onde o  desempenho não seja prejudicado pelas escritas.

Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema seria 
que 
se algo desse errado no desenvolvimento seria imediatamente replicado para o 
server de produção) e fiquei na duvida se o desempenho seria bom(pois há carga 
24x7). A outra seria o server de produção possui uma base atualizada 
diariamente 
(incremental?) durante a noite (entre 0h e 6h) , existe alguma forma fácil de 
fazer isso?


Agradeço desde já,


-- 
Thiago Godoi

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




-- 
Thiago Godoi
Ec07



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


Re: [pgbr-geral] Res: Res: Escolha do método de replicação

2010-10-28 Por tôpico Thiago Godoi
É realmente já percebi que o hot-standby não é o ideal para a situação. Vou
tentar especificar melhor o que desejamos fazer.


Tenho um banco de Desenvolvimento onde eu tenho várias bases em que eu estou
inserindo novas informações o tempo inteiro.Na máquina de produção a ideia é
possuir algumas das bases do banco de Desenvolvimento , somente para
consultas de clientes.

Meu problema seria como levar os dados do meu banco de Desenvolvimento para
o banco de Produção (lembrando que seria somente uma parte do cluster), a
ideia seria fazer essa atualização todo dia durante a madrugada,  é
possível algo incremental?




Em 28 de outubro de 2010 14:43, Renato Ricci
renatoricc...@yahoo.com.brescreveu:

 Thiago, deixa eu ver se entendi.. você tem um ambiente de desenvolvimento
 onde você faz alterações físicas e lógicas no banco de dados. O que você
 quer fazer é aplicar essas alterações em um banco de produção? O que você
 vai querer aplicar no banco de produção? Somente o DDL? Ou as informações
 geradas em desenvolvimento tb? Se você usar um hot-standby, você poderá
 replicar DDL e informações (cópia fiel do banco) para produção. Não sei como
 isso impactaria no seu ambiente ai, pois você estará aplicando as alterações
 no banco de produção mas a aplicação (.exe ou alguma aplicação web) ainda
 ficará antiga. Se for alterações somente em Functions, triggers, views, ai
 de boa..

 Geralmente as empresas costumam usar um banco hot-standby mais para
 contingência, ou seja, caso der algum problema no banco de produção, esse
 banco hot-standby assumiria a brinca. Geralmente tem-se os seguintes
 ambientes:

 Desenvolvimento  Produção (Processo feito manualmente através de aplicação
 de scripts com alterações necessárias)
 Produção (transacional)  hot-standby (automático)

 T+

  __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio
 Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 14:25:49
 *Assunto:* Re: [pgbr-geral] Res: Escolha do método de replicação

 Hum creio que usei a palavra errada então, não seria uma replicação.

 Seria migrar as atualizações para o banco de produção. Porém um detalhe que
 não havia citado antes, o banco de produção será usado somente para
 consultas.

 Em 28 de outubro de 2010 13:40, Renato Ricci 
 renatoricc...@yahoo.com.brescreveu:

 Thiago, creio que o hot-standby não irá funcionar da maneira que você
 deseja, pois um banco neste estado não aceita transações pois ele roda
 somente em read-only. A não ser que você queira usar apenas para consulta.

 Att.,


 __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 12:49:34
 *Assunto:* [pgbr-geral] Escolha do método de replicação

 Pessoal,

 Preciso escolher o melhor método de replicação para utilizar , se puderem
 me ajudar, o caso é o seguinte :

 Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com
 bases sendo geradas a todo momento. Já possuimos um servidor pronto para
 receber uma versão de produção do banco, ou seja, algumas bases que seriam
 utilizadas por clientes , onde o desempenho não seja prejudicado pelas
 escritas.

 Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema
 seria que se algo desse errado no desenvolvimento seria imediatamente
 replicado para o server de produção) e fiquei na duvida se o desempenho
 seria bom(pois há carga 24x7). A outra seria o server de produção possui uma
 base atualizada diariamente (incremental?) durante a noite (entre 0h e 6h) ,
 existe alguma forma fácil de fazer isso?


 Agradeço desde já,


 --
 Thiago Godoi



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




 --
 Thiago Godoi
 Ec07



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




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


Re: [pgbr-geral] Res: Res: Escolha do método de replicação

2010-10-28 Por tôpico JotaComm
Olá,

Em 28 de outubro de 2010 15:32, Thiago Godoi thiagogodo...@gmail.comescreveu:

 É realmente já percebi que o hot-standby não é o ideal para a situação. Vou
 tentar especificar melhor o que desejamos fazer.


 Tenho um banco de Desenvolvimento onde eu tenho várias bases em que eu
 estou inserindo novas informações o tempo inteiro.Na máquina de produção a
 ideia é possuir algumas das bases do banco de Desenvolvimento , somente para
 consultas de clientes.


Hum.. Que tal dar uma olhada no Slony [1]


 Meu problema seria como levar os dados do meu banco de Desenvolvimento para
 o banco de Produção (lembrando que seria somente uma parte do cluster), a
 ideia seria fazer essa atualização todo dia durante a madrugada,  é
 possível algo incremental?


 [1] http://www.slony.info/

 Em 28 de outubro de 2010 14:43, Renato Ricci 
 renatoricc...@yahoo.com.brescreveu:

  Thiago, deixa eu ver se entendi.. você tem um ambiente de desenvolvimento
 onde você faz alterações físicas e lógicas no banco de dados. O que você
 quer fazer é aplicar essas alterações em um banco de produção? O que você
 vai querer aplicar no banco de produção? Somente o DDL? Ou as informações
 geradas em desenvolvimento tb? Se você usar um hot-standby, você poderá
 replicar DDL e informações (cópia fiel do banco) para produção. Não sei como
 isso impactaria no seu ambiente ai, pois você estará aplicando as alterações
 no banco de produção mas a aplicação (.exe ou alguma aplicação web) ainda
 ficará antiga. Se for alterações somente em Functions, triggers, views, ai
 de boa..

 Geralmente as empresas costumam usar um banco hot-standby mais para
 contingência, ou seja, caso der algum problema no banco de produção, esse
 banco hot-standby assumiria a brinca. Geralmente tem-se os seguintes
 ambientes:

 Desenvolvimento  Produção (Processo feito manualmente através de
 aplicação de scripts com alterações necessárias)
 Produção (transacional)  hot-standby (automático)

 T+

  __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 14:25:49
 *Assunto:* Re: [pgbr-geral] Res: Escolha do método de replicação

 Hum creio que usei a palavra errada então, não seria uma replicação.

 Seria migrar as atualizações para o banco de produção. Porém um detalhe
 que não havia citado antes, o banco de produção será usado somente para
 consultas.

 Em 28 de outubro de 2010 13:40, Renato Ricci 
 renatoricc...@yahoo.com.brescreveu:

 Thiago, creio que o hot-standby não irá funcionar da maneira que você
 deseja, pois um banco neste estado não aceita transações pois ele roda
 somente em read-only. A não ser que você queira usar apenas para consulta.

 Att.,


 __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 12:49:34
 *Assunto:* [pgbr-geral] Escolha do método de replicação

 Pessoal,

 Preciso escolher o melhor método de replicação para utilizar , se puderem
 me ajudar, o caso é o seguinte :

 Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com
 bases sendo geradas a todo momento. Já possuimos um servidor pronto para
 receber uma versão de produção do banco, ou seja, algumas bases que seriam
 utilizadas por clientes , onde o desempenho não seja prejudicado pelas
 escritas.

 Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema
 seria que se algo desse errado no desenvolvimento seria imediatamente
 replicado para o server de produção) e fiquei na duvida se o desempenho
 seria bom(pois há carga 24x7). A outra seria o server de produção possui uma
 base atualizada diariamente (incremental?) durante a noite (entre 0h e 6h) ,
 existe alguma forma fácil de fazer isso?


 Agradeço desde já,


 --
 Thiago Godoi



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




 --
 Thiago Godoi
 Ec07



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




 --
 Thiago Godoi
 Ec07

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



[]s
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing 

[pgbr-geral] Res: Res: Res: Escolha do mé todo de replicação

2010-10-28 Por tôpico Renato Ricci
Realmente, concordo com o JotaComm. Provavelmente o Slony seja ideal para sua 
situação. Com ele você pode escolher quais objetos deseja replicar para o banco 
slave...

T+
 __
Renato R. Ricci
Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio 
Ambiente. O Futuro está em Nossas Mãos!





De: JotaComm jota.c...@gmail.com
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 28 de Outubro de 2010 15:54:44
Assunto: Re: [pgbr-geral] Res: Res: Escolha do método de replicação

Olá,


Em 28 de outubro de 2010 15:32, Thiago Godoi thiagogodo...@gmail.com escreveu:

É realmente já percebi que o hot-standby não é o ideal para a situação. Vou 
tentar especificar melhor o que desejamos fazer.


Tenho um banco de Desenvolvimento onde eu tenho várias bases em que eu estou 
inserindo novas informações o tempo inteiro.Na máquina de produção a ideia é 
possuir algumas das bases do banco de Desenvolvimento , somente para consultas 
de clientes.


Hum.. Que tal dar uma olhada no Slony [1] 


Meu problema seria como levar os dados do meu banco de Desenvolvimento para o 
banco de Produção (lembrando que seria somente uma parte do cluster), a ideia 
seria fazer essa atualização todo dia durante a madrugada,  é possível algo 
incremental? 


 
[1] http://www.slony.info/


Em 28 de outubro de 2010 14:43, Renato Ricci renatoricc...@yahoo.com.br 
escreveu:


Thiago, deixa eu ver se entendi.. você tem um ambiente de desenvolvimento onde 
você faz alterações físicas e lógicas no banco de dados. O que você quer fazer 
é 
aplicar essas alterações em um banco de produção? O que você vai querer 
aplicar 
no banco de produção? Somente o DDL? Ou as informações geradas em 
desenvolvimento tb? Se você usar um hot-standby, você poderá replicar DDL e 
informações (cópia fiel do banco) para produção. Não sei como isso impactaria 
no 
seu ambiente ai, pois você estará aplicando as alterações no banco de produção 
mas a aplicação (.exe ou alguma aplicação web) ainda ficará antiga. Se for 
alterações somente em Functions, triggers, views, ai de boa..


Geralmente as empresas costumam usar um banco hot-standby  mais para 
contingência, ou seja, caso der algum problema no banco de produção, esse 
banco 
hot-standby assumiria a brinca. Geralmente tem-se os seguintes ambientes:


Desenvolvimento  Produção (Processo feito manualmente através de aplicação 
de 
scripts com alterações necessárias)
Produção (transacional)  hot-standby (automático)


T+

__
Renato R. Ricci
Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio 
Ambiente. O Futuro está em Nossas Mãos!






De: Thiago Godoi thiagogodo...@gmail.com
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 28 de Outubro de 2010 14:25:49
Assunto: Re: [pgbr-geral] Res: Escolha do método de replicação


Hum creio que usei a palavra errada então, não seria uma replicação.

Seria migrar as atualizações para o banco de produção. Porém um detalhe que 
não 
havia citado antes, o banco de produção será usado somente para consultas.


Em 28 de outubro de 2010 13:40, Renato Ricci renatoricc...@yahoo.com.br 
escreveu:

Thiago, creio que o hot-standby não irá funcionar da maneira que você deseja, 
pois um banco neste estado não aceita transações pois ele roda somente em 
read-only. A não ser que você queira usar apenas para consulta. 


Att.,
 __
Renato R. Ricci
Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio 
Ambiente. O Futuro está em Nossas Mãos!






De: Thiago Godoi thiagogodo...@gmail.com
Para: pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 28 de Outubro de 2010 12:49:34
Assunto: [pgbr-geral] Escolha do método de replicação


Pessoal,

Preciso escolher o melhor método de replicação para utilizar , se puderem me 
ajudar, o caso é o seguinte :

Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com 
bases 
sendo geradas a todo momento. Já possuimos um servidor pronto para receber 
uma 
versão de produção do banco, ou seja, algumas bases que seriam utilizadas 
por 
clientes , onde o  desempenho não seja prejudicado pelas escritas.

Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema seria 
que 
se algo desse errado no desenvolvimento seria imediatamente replicado para o 
server de produção) e fiquei na duvida se o desempenho seria bom(pois há 
carga 
24x7). A outra seria o server de produção possui uma base atualizada 
diariamente 
(incremental?) durante a noite (entre 0h e 6h) , existe alguma forma fácil 
de 
fazer isso?


Agradeço desde já,


-- 
Thiago Godoi

 
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br

Re: [pgbr-geral] Res: Res: Res: Escolha do mét odo de replicação

2010-10-28 Por tôpico Thiago Godoi
Obrigado galera , vou pesquisar mais sobre o Slony então, porém ele possui
essa opção de replicação agendada dos dados?

Por exemplo eu conseguiria definir para ele replicar os dados gerados
durante o dia , somente durante a noite?

Em 28 de outubro de 2010 16:11, Renato Ricci
renatoricc...@yahoo.com.brescreveu:

 Realmente, concordo com o JotaComm. Provavelmente o Slony seja ideal para
 sua situação. Com ele você pode escolher quais objetos deseja replicar para
 o banco slave...

 T+


 __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio
 Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* JotaComm jota.c...@gmail.com

 *Para:* Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 15:54:44
 *Assunto:* Re: [pgbr-geral] Res: Res: Escolha do método de replicação

 Olá,

 Em 28 de outubro de 2010 15:32, Thiago Godoi 
 thiagogodo...@gmail.comescreveu:

 É realmente já percebi que o hot-standby não é o ideal para a situação.
 Vou tentar especificar melhor o que desejamos fazer.


 Tenho um banco de Desenvolvimento onde eu tenho várias bases em que eu
 estou inserindo novas informações o tempo inteiro.Na máquina de produção a
 ideia é possuir algumas das bases do banco de Desenvolvimento , somente para
 consultas de clientes.


 Hum.. Que tal dar uma olhada no Slony [1]


 Meu problema seria como levar os dados do meu banco de Desenvolvimento
 para o banco de Produção (lembrando que seria somente uma parte do cluster),
 a ideia seria fazer essa atualização todo dia durante a madrugada,  é
 possível algo incremental?


 [1] http://www.slony.info/

 Em 28 de outubro de 2010 14:43, Renato Ricci 
 renatoricc...@yahoo.com.brescreveu:

  Thiago, deixa eu ver se entendi.. você tem um ambiente de
 desenvolvimento onde você faz alterações físicas e lógicas no banco de
 dados. O que você quer fazer é aplicar essas alterações em um banco de
 produção? O que você vai querer aplicar no banco de produção? Somente o DDL?
 Ou as informações geradas em desenvolvimento tb? Se você usar um
 hot-standby, você poderá replicar DDL e informações (cópia fiel do banco)
 para produção. Não sei como isso impactaria no seu ambiente ai, pois você
 estará aplicando as alterações no banco de produção mas a aplicação (.exe ou
 alguma aplicação web) ainda ficará antiga. Se for alterações somente em
 Functions, triggers, views, ai de boa..

 Geralmente as empresas costumam usar um banco hot-standby mais para
 contingência, ou seja, caso der algum problema no banco de produção, esse
 banco hot-standby assumiria a brinca. Geralmente tem-se os seguintes
 ambientes:

 Desenvolvimento  Produção (Processo feito manualmente através de
 aplicação de scripts com alterações necessárias)
 Produção (transacional)  hot-standby (automático)

 T+

  __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 14:25:49
 *Assunto:* Re: [pgbr-geral] Res: Escolha do método de replicação

 Hum creio que usei a palavra errada então, não seria uma replicação.

 Seria migrar as atualizações para o banco de produção. Porém um detalhe
 que não havia citado antes, o banco de produção será usado somente para
 consultas.

 Em 28 de outubro de 2010 13:40, Renato Ricci renatoricc...@yahoo.com.br
  escreveu:

 Thiago, creio que o hot-standby não irá funcionar da maneira que você
 deseja, pois um banco neste estado não aceita transações pois ele roda
 somente em read-only. A não ser que você queira usar apenas para consulta.

 Att.,


 __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 12:49:34
 *Assunto:* [pgbr-geral] Escolha do método de replicação

 Pessoal,

 Preciso escolher o melhor método de replicação para utilizar , se
 puderem me ajudar, o caso é o seguinte :

 Possuimos um banco no postgres 9.0 em um servidor de desenvolvimento com
 bases sendo geradas a todo momento. Já possuimos um servidor pronto para
 receber uma versão de produção do banco, ou seja, algumas bases que seriam
 utilizadas por clientes , onde o desempenho não seja prejudicado pelas
 escritas.

 Inicialmente tivemos 2 idéias utilizar o hot-standby(porém um problema
 seria que se algo desse errado no desenvolvimento seria imediatamente
 replicado para o server de produção) e fiquei na duvida se o desempenho
 seria 

Re: [pgbr-geral] Tabela Gigante

2010-10-28 Por tôpico Roberto Mello
2010/10/27 Listas lis...@arsweb.net.br:

 Sou programador em PHP e utiliso o mysql para fazer meus sistemas,

 bom, estou desenvolvendo um sistema on-line de uma lista telefonica e
 resolvi usar o postgresql como banco de dados.

 Porém, estou com dúvidas de como fazer a tabela no banco.

 A tabela va conter de arrancada 260.000 registros

 Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep,
 cidade, estado, anuncio, etc )

 Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment,
 ja que esta tabela vai ser imensa e terá que fazer buscas rápidas.

0) Seu nome é mesmo listas?
1) 260.000 registros é muito pouco
2) Seria bom para sua carreira dar uma estudada na parte teórica de
modelagem de dados

auto_increment do MySQL: use o tipo serial no PostgreSQL
Buscas rápidas: de acordo com suas regras de negócio, modele os dados,
e crie índices adequados. Não posso falar mais do que isso visto que a
pergunta foi tão vaga.

Exemplo:

CREATE TABLE lista_telefonica (
id serial not null primary key,
nome varchar(256) not null,
...
);

CREATE INDEX lista_telefonica_nome_idx ON lista_telefonica (nome);

Há uma infinidade de outras coisas que poderiam ser sugeridas
dependendo das necessidades do sistema.

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


[pgbr-geral] Auditoria em POstgreSQL -

2010-10-28 Por tôpico Emerson Martins
Opa pessoal.

Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de
usuarios onde sabemos quem estar logado.
Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja
implementou algo assim?

Tow com esse problema pra resolver..Urgente..




Emerson Martins
emersonmarti...@hotmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Auditoria em POstgreSQL -

2010-10-28 Por tôpico Roberto Mello
2010/10/28 Emerson Martins emersonmarti...@gmail.com:
 Opa pessoal.
 Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de
 usuarios onde sabemos quem estar logado.
 Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja
 implementou algo assim?
 Tow com esse problema pra resolver..Urgente..

Muita gente já implementou algo assim. De alguma maneira você precisa
passar para os seus gatilhos qual o usuário do seu sistema que está
fazendo a modificação. Ou então implementar com uma combinação de
callbacks no seu sistema que vão chamar seus gatilhos.

Sem saber mais sobre o seu sistema e implementação, é só até aí que
posso responder.

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


Re: [pgbr-geral] Auditoria em POstgreSQL -

2010-10-28 Por tôpico Fábio Gibon - Comex System
Olá Emerson,
  tem como detalhar melhor o que você precisa? E, adiantando, quando você 
fala usuário é usuário do banco (login role) ou usuário da sua aplicação?

sds
Fábio Gibon
  - Original Message - 
  From: Emerson Martins 
  To: pgbr-geral@listas.postgresql.org.br 
  Sent: Thursday, October 28, 2010 4:20 PM
  Subject: [pgbr-geral] Auditoria em POstgreSQL -


  Opa pessoal.


  Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de 
usuarios onde sabemos quem estar logado.
  Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja 
implementou algo assim?


  Tow com esse problema pra resolver..Urgente..








  Emerson Martins
  emersonmarti...@hotmail.com


--


  ___
  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


[pgbr-geral] Add Topic: Escolha do método de r eplicação - Urgente

2010-10-28 Por tôpico jmtofoli
Boa noite pessoal.

Desculpem o topico extenso...

Esse tópico do colega Thiago é uma excelente deixa, pois tenho que pesquisar e 
implementar (em 15 dias) um mecanismo de replicação que atenda a seguinte 
situação:
Atualmente possuimos um sistema que integra matriz e filial de forma online, 
tendo a base de dados centralizada num servidor central que utiliza a internet 
para conexão das filiais. Isso tem funcionado a contento a bastante tempo, 
entretanto, um novo cliente esta exigindo algo que lhe garanta a 
disponibilidade das lojas quando a net não estiver disponivel, e acredito que a 
replicação seja a solução. 

A idéia é a seguinte: Continuar tendo um servidor central e manter as lojas 
conectadas nesse servidor, porem, esse servidor central deve estar replicando 
seus dados para um servidor que fica em cada loja. Caso a net caia em alguma 
loja ou na matriz, o servidor que roda na loja deve assumir as operações, e é 
ai que acho que a coisa complica... Nesse caso, a loja continuaria rodando, 
atualizando essa base local. Voltando a net, esse servidor deve sincronizar 
seus dados com o servidor central e voltar a receber as atualizações do 
servidor central.

Essa implementação me resolveria, a curto prazo, 2 problemas (e talvez me crie 
outros...) : 
1) O do cliente com medo da indisponibilidade; 
2) A questão da exigencia do PAF-ECF em manter o sistema funcionando 
independente da rede.

Como o prazo que tenho é curto, estamos dispostos a contratar os serviços de 
uma empresa ou pessoa especializada para nos ajudar nessa tarefa. Caso alguem 
da lista possa nos ajudar, por favor entre em contato.

Grato!

Julio M Tofoli
SetaDigital 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] Auditoria em POstgreSQL -

2010-10-28 Por tôpico Celso
Olá Emerson,

Nós temos algo assim em nosse ERP (se for o usuário da aplicação).

No Oracle você consegue setar um valor para uma variável de Sessão do usuário 
(na versão 9 do Post, pelo que entendi tem esse recurso tb).

Mas resolvemos da seguinte forma. 

Quando o usuário se loga no sistema incluímos um registro em um tabela chamada 
sessoes, registrando o código do usuário na aplicação e o 
pg_backend_pid() da sessão.

Assim quando precisamos saber, usamos a View abaixo para recuperar o usuário da 
sessão atual.

Funciona certinho, o porém é que as vezes ficam registros perdidos na tabela, 
se o sistema não for encerrado corretamente (quando fecha o sistema, o registro 
é excluído). 


CREATE OR REPLACE VIEW vw_sessao AS 
 SELECT sessoes.usr_usuario
   FROM sessoes
  WHERE sessoes.usr_sessao = pg_backend_pid();

Espero que seja isso que você procure.


Att,

Celso Lorenzetti
www.sysrs.com.br

- Original Message - 
  From: Fábio Gibon - Comex System 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Thursday, October 28, 2010 6:47 PM
  Subject: Re: [pgbr-geral] Auditoria em POstgreSQL -


  Olá Emerson,
tem como detalhar melhor o que você precisa? E, adiantando, quando você 
fala usuário é usuário do banco (login role) ou usuário da sua aplicação?

  sds
  Fábio Gibon
- Original Message - 
From: Emerson Martins 
To: pgbr-geral@listas.postgresql.org.br 
Sent: Thursday, October 28, 2010 4:20 PM
Subject: [pgbr-geral] Auditoria em POstgreSQL -


Opa pessoal. 


Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de 
usuarios onde sabemos quem estar logado.
Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja 
implementou algo assim?


Tow com esse problema pra resolver..Urgente..








Emerson Martins
emersonmarti...@hotmail.com





___
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
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Agrupar, transformar linhas em colunas

2010-10-28 Por tôpico Emerson Hermann
/*
Estrutura apenas para exemplo
*/
--DROP TABLE IF EXISTS cadastro_teste;
CREATE TEMP TABLE cadastro_teste
(
   cpf  VARCHAR(11)
 , nome VARCHAR(21)
 , matricula VARCHAR(7)

);

INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
Madalena','72034054401','2010011');
INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
('Jonas','12034054408','2010032');
INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
Madalena','72034054401','2010051');
INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
Madalena','72034054401','2010071');
INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
('Jonas','12034054408','2010559');
INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
('Marcos','42034054403','2010033');
INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
('Marcos','42034054403','2010154');
INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
('Joao','53034054403','2010004');


SELECT * FROM cadastro_teste ORDER BY cpf;
/*

cpf|nome  |matricula
12034054408|Jonas |2010559
12034054408|Jonas |2010032
42034054403|Marcos|2010154
42034054403|Marcos|2010033
53034054403|Joao  |2010004
72034054401|Maria Madalena|2010071
72034054401|Maria Madalena|2010051
72034054401|Maria Madalena|2010011

*/

-- Existe a possibilidade de agrupar esses dados da forma abaixo
(concatenando a matricula) sem uso de store function? Utilizo
PostgreSQL 8.3.
-- Se existe, como seria, com window function  ?


/*
cpf|nome  |matricula
12034054408|Jonas |2010032;2010559;
42034054403|Marcos|2010033;2010154;
53034054403|Joao  |2010004;
72034054401|Maria Madalena|2010011;2010051;2010071;
*/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Agrupar, transformar linhas em colunas

2010-10-28 Por tôpico Osvaldo Kussama
2010/10/28 Emerson Hermann emersonherm...@gmail.com:
 /*
 Estrutura apenas para exemplo
 */
 --DROP TABLE IF EXISTS cadastro_teste;
 CREATE TEMP TABLE cadastro_teste
 (
       cpf  VARCHAR(11)
     , nome VARCHAR(21)
     , matricula VARCHAR(7)

 );

 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
 Madalena','72034054401','2010011');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Jonas','12034054408','2010032');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
 Madalena','72034054401','2010051');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
 Madalena','72034054401','2010071');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Jonas','12034054408','2010559');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Marcos','42034054403','2010033');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Marcos','42034054403','2010154');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Joao','53034054403','2010004');


 SELECT * FROM cadastro_teste ORDER BY cpf;
 /*

 cpf        |nome          |matricula
 12034054408|Jonas         |2010559
 12034054408|Jonas         |2010032
 42034054403|Marcos        |2010154
 42034054403|Marcos        |2010033
 53034054403|Joao          |2010004
 72034054401|Maria Madalena|2010071
 72034054401|Maria Madalena|2010051
 72034054401|Maria Madalena|2010011

 */

 -- Existe a possibilidade de agrupar esses dados da forma abaixo
 (concatenando a matricula) sem uso de store function? Utilizo
 PostgreSQL 8.3.
 -- Se existe, como seria, com window function  ?


 /*
 cpf        |nome          |matricula
 12034054408|Jonas         |2010032;2010559;
 42034054403|Marcos        |2010033;2010154;
 53034054403|Joao          |2010004;
 72034054401|Maria Madalena|2010011;2010051;2010071;
 */


Utilize a função de agregação array_agg. Veja:
http://www.postgresql.org/docs/current/interactive/functions-aggregate.html

Veja exemplo do array_accum em:
http://www.postgresql.org/docs/current/interactive/xaggr.html

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] Agrupar, transformar linhas em colunas

2010-10-28 Por tôpico Osvaldo Kussama
Em 28 de outubro de 2010 20:50, Osvaldo Kussama
osvaldo.kuss...@gmail.com escreveu:
 2010/10/28 Emerson Hermann emersonherm...@gmail.com:
 /*
 Estrutura apenas para exemplo
 */
 --DROP TABLE IF EXISTS cadastro_teste;
 CREATE TEMP TABLE cadastro_teste
 (
       cpf  VARCHAR(11)
     , nome VARCHAR(21)
     , matricula VARCHAR(7)

 );

 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
 Madalena','72034054401','2010011');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Jonas','12034054408','2010032');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
 Madalena','72034054401','2010051');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES ('Maria
 Madalena','72034054401','2010071');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Jonas','12034054408','2010559');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Marcos','42034054403','2010033');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Marcos','42034054403','2010154');
 INSERT INTO cadastro_teste (nome,cpf,matricula) VALUES
 ('Joao','53034054403','2010004');


 SELECT * FROM cadastro_teste ORDER BY cpf;
 /*

 cpf        |nome          |matricula
 12034054408|Jonas         |2010559
 12034054408|Jonas         |2010032
 42034054403|Marcos        |2010154
 42034054403|Marcos        |2010033
 53034054403|Joao          |2010004
 72034054401|Maria Madalena|2010071
 72034054401|Maria Madalena|2010051
 72034054401|Maria Madalena|2010011

 */

 -- Existe a possibilidade de agrupar esses dados da forma abaixo
 (concatenando a matricula) sem uso de store function? Utilizo
 PostgreSQL 8.3.
 -- Se existe, como seria, com window function  ?


 /*
 cpf        |nome          |matricula
 12034054408|Jonas         |2010032;2010559;
 42034054403|Marcos        |2010033;2010154;
 53034054403|Joao          |2010004;
 72034054401|Maria Madalena|2010011;2010051;2010071;
 */


 Utilize a função de agregação array_agg. Veja:
 http://www.postgresql.org/docs/current/interactive/functions-aggregate.html

 Veja exemplo do array_accum em:
 http://www.postgresql.org/docs/current/interactive/xaggr.html

 Osvaldo



Dando o serviço completo:

SELECT cpf, nome, array_agg(matricula) FROM cadastro_teste GROUP BY cpf, nome;

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] Digest pgbr-geral, volume 22, assunto 61

2010-10-28 Por tôpico Emerson Martins
Aos que não entenderam..Desculpas!!
Realmente no nosso sistema(web python e django)temos o modulo de usuários do
sistema, e quando falei usuário não é o usuario do banco.

Então.Justamente é isso que eu não sei implementar a questão de pegar o
usuario da sessão e jogar no parametro da trigger.Na realidade nao faço
ideia de como implementar..


Obrigado a todos.Celso vou testar no PostgreSQL 9 posstarei o resultado.
Agradeço.


Em 28 de outubro de 2010 19:21, pgbr-geral-requ...@listas.postgresql.org.br
 escreveu:

 Send pgbr-geral mailing list submissions to
pgbr-geral@listas.postgresql.org.br

 To subscribe or unsubscribe via the World Wide Web, visit

 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 or, via email, send a message with subject or body 'help' to
pgbr-geral-requ...@listas.postgresql.org.br

 You can reach the person managing the list at
pgbr-geral-ow...@listas.postgresql.org.br

 When replying, please edit your Subject line so it is more specific
 than Re: Contents of pgbr-geral digest...


 Tópicos de Hoje:

   1. Re: Tabela Gigante (Roberto Mello)
   2. Auditoria em POstgreSQL - (Emerson Martins)
   3. Re: Auditoria em POstgreSQL - (Roberto Mello)
   4. Re: Auditoria em POstgreSQL - (Fábio Gibon - Comex System)
   5. Add Topic: Escolha do método de replicação - Urgente (jmtofoli)
   6. Re: Auditoria em POstgreSQL - (Celso)


 --

 Message: 1
 Date: Thu, 28 Oct 2010 14:37:52 -0400
 From: Roberto Mello roberto.me...@gmail.com
 Subject: Re: [pgbr-geral] Tabela Gigante
 To: Comunidade PostgreSQL Brasileira
pgbr-geral@listas.postgresql.org.br
 Message-ID:
aanlktinykfxbnbs8pleocxj8jks+=u=mvrcayblvk...@mail.gmail.com
 Content-Type: text/plain; charset=UTF-8

 2010/10/27 Listas lis...@arsweb.net.br:
 
  Sou programador em PHP e utiliso o mysql para fazer meus sistemas,
 
  bom, estou desenvolvendo um sistema on-line de uma lista telefonica e
  resolvi usar o postgresql como banco de dados.
 
  Porém, estou com dúvidas de como fazer a tabela no banco.
 
  A tabela va conter de arrancada 260.000 registros
 
  Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep,
  cidade, estado, anuncio, etc )
 
  Gostaria de saber como criar esta tabela, a estrutura, tipo
 auto_increment,
  ja que esta tabela vai ser imensa e terá que fazer buscas rápidas.

 0) Seu nome é mesmo listas?
 1) 260.000 registros é muito pouco
 2) Seria bom para sua carreira dar uma estudada na parte teórica de
 modelagem de dados

 auto_increment do MySQL: use o tipo serial no PostgreSQL
 Buscas rápidas: de acordo com suas regras de negócio, modele os dados,
 e crie índices adequados. Não posso falar mais do que isso visto que a
 pergunta foi tão vaga.

 Exemplo:

 CREATE TABLE lista_telefonica (
id serial not null primary key,
nome varchar(256) not null,
...
 );

 CREATE INDEX lista_telefonica_nome_idx ON lista_telefonica (nome);

 Há uma infinidade de outras coisas que poderiam ser sugeridas
 dependendo das necessidades do sistema.

 Roberto


 --

 Message: 2
 Date: Thu, 28 Oct 2010 17:20:29 -0200
 From: Emerson Martins emersonmarti...@gmail.com
 Subject: [pgbr-geral] Auditoria em POstgreSQL -
 To: pgbr-geral@listas.postgresql.org.br
 Message-ID:
aanlktin8gljcwsxckgqxzs8hs-vhiwbam-6a1mqen...@mail.gmail.com
 Content-Type: text/plain; charset=iso-8859-1

 Opa pessoal.

 Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de
 usuarios onde sabemos quem estar logado.
 Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja
 implementou algo assim?

 Tow com esse problema pra resolver..Urgente..




 Emerson Martins
 emersonmarti...@hotmail.com
 -- Próxima Parte --
 Um anexo em HTML foi limpo...
 URL:
 http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20101028/d76f1e9a/attachment-0001.htm

 --

 Message: 3
 Date: Thu, 28 Oct 2010 15:42:37 -0400
 From: Roberto Mello roberto.me...@gmail.com
 Subject: Re: [pgbr-geral] Auditoria em POstgreSQL -
 To: Comunidade PostgreSQL Brasileira
pgbr-geral@listas.postgresql.org.br
 Message-ID:
aanlktimtpe+t5cd=v0ctxe1v9m06wn9oqqps6h3uo...@mail.gmail.com
 Content-Type: text/plain; charset=UTF-8

 2010/10/28 Emerson Martins emersonmarti...@gmail.com:
  Opa pessoal.
  Tenho umas triggers de auditoria no sistema.Mas temos também um módulo de
  usuarios onde sabemos quem estar logado.
  Preciso de ajuda pra integrar as triggers ao modulo de usuários.Alguem ja
  implementou algo assim?
  Tow com esse problema pra resolver..Urgente..

 Muita gente já implementou algo assim. De alguma maneira você precisa
 passar para os seus gatilhos qual o usuário do seu sistema que está
 fazendo a modificação. Ou então implementar com uma combinação de
 callbacks no seu sistema que vão chamar seus gatilhos.

 Sem saber

Re: [pgbr-geral] Res: Res: Res: Escolha do mét odo de replicação

2010-10-28 Por tôpico Charly Batista
Thiago, boa noite!

Talvez uma ferramenta de ETL te seja mais apropriado do que uma ferramenta
de replicação. Existem algumas boas ferramentas de ETL disponíveis, e uma
que gosto muito é o Kettle[1]. Com ele você consegue fazer extrações
agendadas, como você deseja. Dá uma olhada, talvez te resolva o problema.

[1] http://kettle.pentaho.com/

Att,

-- 
Charly Batista
Administrador de Banco de Dados
http://javadevilopers.blogspot.com/
charlyfra...@gmail.com
Linux user #391083

Se você tem uma maçã e eu tenho uma maçã e nós trocamos essas maçãs, então
eu e você ainda teremos uma maçã cada. Mas se você tiver uma idéia e eu
tiver uma idéia e nós trocamos idéias, então cada um de nós terá duas
idéias.
  George Bernard Shaw (1856-1950)


Em 28 de outubro de 2010 16:15, Thiago Godoi thiagogodo...@gmail.comescreveu:

 Obrigado galera , vou pesquisar mais sobre o Slony então, porém ele possui
 essa opção de replicação agendada dos dados?

 Por exemplo eu conseguiria definir para ele replicar os dados gerados
 durante o dia , somente durante a noite?

 Em 28 de outubro de 2010 16:11, Renato Ricci 
 renatoricc...@yahoo.com.brescreveu:

 Realmente, concordo com o JotaComm. Provavelmente o Slony seja ideal para
 sua situação. Com ele você pode escolher quais objetos deseja replicar para
 o banco slave...

 T+


 __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* JotaComm jota.c...@gmail.com

 *Para:* Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 15:54:44
 *Assunto:* Re: [pgbr-geral] Res: Res: Escolha do método de replicação

 Olá,

 Em 28 de outubro de 2010 15:32, Thiago Godoi 
 thiagogodo...@gmail.comescreveu:

 É realmente já percebi que o hot-standby não é o ideal para a situação.
 Vou tentar especificar melhor o que desejamos fazer.


 Tenho um banco de Desenvolvimento onde eu tenho várias bases em que eu
 estou inserindo novas informações o tempo inteiro.Na máquina de produção a
 ideia é possuir algumas das bases do banco de Desenvolvimento , somente para
 consultas de clientes.


 Hum.. Que tal dar uma olhada no Slony [1]


 Meu problema seria como levar os dados do meu banco de Desenvolvimento
 para o banco de Produção (lembrando que seria somente uma parte do cluster),
 a ideia seria fazer essa atualização todo dia durante a madrugada,  é
 possível algo incremental?


 [1] http://www.slony.info/

 Em 28 de outubro de 2010 14:43, Renato Ricci renatoricc...@yahoo.com.br
  escreveu:

  Thiago, deixa eu ver se entendi.. você tem um ambiente de
 desenvolvimento onde você faz alterações físicas e lógicas no banco de
 dados. O que você quer fazer é aplicar essas alterações em um banco de
 produção? O que você vai querer aplicar no banco de produção? Somente o 
 DDL?
 Ou as informações geradas em desenvolvimento tb? Se você usar um
 hot-standby, você poderá replicar DDL e informações (cópia fiel do banco)
 para produção. Não sei como isso impactaria no seu ambiente ai, pois você
 estará aplicando as alterações no banco de produção mas a aplicação (.exe 
 ou
 alguma aplicação web) ainda ficará antiga. Se for alterações somente em
 Functions, triggers, views, ai de boa..

 Geralmente as empresas costumam usar um banco hot-standby mais para
 contingência, ou seja, caso der algum problema no banco de produção, esse
 banco hot-standby assumiria a brinca. Geralmente tem-se os seguintes
 ambientes:

 Desenvolvimento  Produção (Processo feito manualmente através de
 aplicação de scripts com alterações necessárias)
 Produção (transacional)  hot-standby (automático)

 T+

  __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi thiagogodo...@gmail.com
 *Para:* Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 *Enviadas:* Quinta-feira, 28 de Outubro de 2010 14:25:49
 *Assunto:* Re: [pgbr-geral] Res: Escolha do método de replicação

 Hum creio que usei a palavra errada então, não seria uma replicação.

 Seria migrar as atualizações para o banco de produção. Porém um detalhe
 que não havia citado antes, o banco de produção será usado somente para
 consultas.

 Em 28 de outubro de 2010 13:40, Renato Ricci 
 renatoricc...@yahoo.com.br escreveu:

 Thiago, creio que o hot-standby não irá funcionar da maneira que você
 deseja, pois um banco neste estado não aceita transações pois ele roda
 somente em read-only. A não ser que você queira usar apenas para consulta.

 Att.,


 __

 *Renato R. Ricci*

 *Antes de imprimir, pense em sua responsabilidade e compromisso com o
 Meio Ambiente. O Futuro está em Nossas Mãos!***


 --
 *De:* Thiago Godoi