[pgbr-geral] Erro no pg_restore - 9.1.1
Pessoal, tenho um cliente que está com o seguinte cenário: - SO: Windows SBS standard 2008 SP 2 64bit - PostgreSQL: 9.1.1 32bit Quando é feito um dump (pg_dump) de qualquer banco tudo ocorre bem, sem erros, sem alertas. Porém ao tentar restaurar neste mesmo servidor ocorre um erro na criação de uma tabela (não pode ler bloco 39 no arquivo base/...: leu somente 0 de 8192 bytes. No entanto se eu fizer um dump só desta tabela eu consigo restaurar sem problemas. Mas acabei chegando a conclusão que não é a tabela que tem problemas, pois fiz um backup de uma base sem esta tabela, então ao tentar restaurar ocorreu o mesmo erro na tabela seguinte, e assim vai. Fiz então um dump só da estrutura em plain text (script), criei um banco, conectei pelo psql e ao tentar rodar o script ocorre o mesmo erro. Se vou excluindo os objetos manualmente no script o erro vai avançando para o próximo objeto. Instalei na minha máquina (Win 7 Prof 64 bits) a mesma versão do PostgreSQL (9.1.1 32bits), usei o mesmo postgresql.conf da base do cliente, e aqui tudo funciona perfeitamente. Qualquer dica será MUITO bem-vinda! abraços Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Delphi 7 + PostgreSQL 64bits
Fabrízio, claro, desculpe a demora neste retorno, o problema é que realmente o zeos 6.6.6 não funciona com as libs 64bits, então a solução foi pegar as libs da versão 32bits e coloca-las no mesmo diretório do .exe. abraço Fábio Gibon Em 30 de maio de 2012 12:03, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Valeu Marcelo Silva e Irineu, consegui resolver com as dicas de vocês. Muito obrigado. Caro Fábio, Vc poderia postar para nós qual era o problema e qual a solução, para termos um bom histórico na nossa lista. Att, -- Fabrízio de Royes Mello___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Delphi 7 + PostgreSQL 64bits
Valeu Marcelo Silva e Irineu, consegui resolver com as dicas de vocês. Muito obrigado. sds Fábio Gibon - Original Message - From: Marcelo Silva (IG) To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Tuesday, May 29, 2012 5:31 PM Subject: Re: [pgbr-geral] Delphi 7 + PostgreSQL 64bits Meu Server é Linux64 bits Meu Delphi é o 7 As libs clientes são 32bits Funciona numa boa... Agora se pegar as libs 64 e colocar nas maquinas 32 sem chance Marcelo Silva -- msn: marc...@ig.com.br Cel.: (11) 9693-4251 Cel.: (11) 5250-1407 Desenvolvedor Delphi, PHP, ASP Empresa: Perfil Medicina e Segurança do Trabalho From: Fábio Gibon - Comex System Sent: Tuesday, May 29, 2012 5:15 PM To: PostgreSQL - BR List Subject: [pgbr-geral] Delphi 7 + PostgreSQL 64bits Pessoal, alguém ai trabalha com delphi 7 acessando o postgresql em 64bits (versão 9.0 em diante)? (preciso trocar algumas ideias) abraços Fábio Henrique Gibon -- ___ 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] Delphi 7 + PostgreSQL 64bits
Pessoal, alguém ai trabalha com delphi 7 acessando o postgresql em 64bits (versão 9.0 em diante)? (preciso trocar algumas ideias) abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Ajuda com LEFT JOIN
Fernando, porque vc está fazendo este sum(saldo.quantidade) ? Porque não colocar apenas saldo.quantidade e adicioná-lo no group by e no where (removendo do having)? abraço Gibon - Original Message - From: Fernando Zambone To: pgbr-geral@listas.postgresql.org.br Sent: Friday, April 27, 2012 11:53 AM Subject: [pgbr-geral] Ajuda com LEFT JOIN Estou tentando cruzar dados de um tabela de saldo de estoque e uma de saldo de pedidos de venda, afim de relatar quais itens em estoque possuem pedidos para serem faturados. Contudo, o problema que encontrei foi que, ao somar a coluna quantidade da tabela saldoestoque, caso eu tenha 2 registros de pedidos na tabela de pedidos, a query está somando 2 vezes o saldo do estoque, segue a query: SELECT saldo.item, sum(saldo.quantidade), sum(pedido.saldo) FROM estsaldo saldo LEFT JOIN fatpedidocliente pedido ON saldo.item = pedido.item WHERE saldo.almoxarifado = 'ETE' GROUP BY saldo.item HAVING sum(saldo.quantidade) 0 AND sum(pedido.saldo) 0 Alguma dica? -- Atenciosamente, Fernando R. Zambone -- ___ 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] Ajuda com LEFT JOIN
Quais são as PKs/UKs destas tabelas? - Original Message - From: Fernando Zambone To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Friday, April 27, 2012 12:10 PM Subject: Re: [pgbr-geral] Ajuda com LEFT JOIN Por que eu tenho saldos negativos e outros positivos, o que interessa para mim é o total, ou seja a soma... Concorda? Me corrija se eu deixei passar algo.. 2012/4/27 Fábio Gibon - Comex System gi...@comexsystem.com.br Fernando, porque vc está fazendo este sum(saldo.quantidade) ? Porque não colocar apenas saldo.quantidade e adicioná-lo no group by e no where (removendo do having)? abraço Gibon - Original Message - From: Fernando Zambone To: pgbr-geral@listas.postgresql.org.br Sent: Friday, April 27, 2012 11:53 AM Subject: [pgbr-geral] Ajuda com LEFT JOIN Estou tentando cruzar dados de um tabela de saldo de estoque e uma de saldo de pedidos de venda, afim de relatar quais itens em estoque possuem pedidos para serem faturados. Contudo, o problema que encontrei foi que, ao somar a coluna quantidade da tabela saldoestoque, caso eu tenha 2 registros de pedidos na tabela de pedidos, a query está somando 2 vezes o saldo do estoque, segue a query: SELECT saldo.item, sum(saldo.quantidade), sum(pedido.saldo) FROM estsaldo saldo LEFT JOIN fatpedidocliente pedido ON saldo.item = pedido.item WHERE saldo.almoxarifado = 'ETE' GROUP BY saldo.item HAVING sum(saldo.quantidade) 0 AND sum(pedido.saldo) 0 Alguma dica? -- Atenciosamente, Fernando R. Zambone -- ___ 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 -- Atenciosamente, Fernando R. Zambone ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Ajuda com LEFT JOIN
ok, mas que campos compõem as PK's ? - Original Message - From: Fernando Zambone To: Leandro Guimarães Faria Corcete DUTRA Cc: Comunidade PostgreSQL Brasileira Sent: Friday, April 27, 2012 2:04 PM Subject: Re: [pgbr-geral] Ajuda com LEFT JOIN fatpedidocliente: fatpedidocliente_pkey fatpedidocli_estitem_fk - estitem fatpedidocli_fatcliente_fk - fatcliente fatpedidoclienteunidade_fk - sisunidade estsaldo: estsaldo_pkey estsaldo_estalmox_fk - estalmoxarifado estsaldo_estitem_fk - estitem estsaldo_estlocali_fk - estlocalizacao estsaldounidade_fk - sisunidade 2012/4/27 Leandro Guimarães Faria Corcete DUTRA l...@dutras.org Le 27/04/12 12:07, Fernando Zambone a écrit : Segue fatpedidocleinte: Não têm chaves!? -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (61) 9302 2691 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm -- Atenciosamente, Fernando R. Zambone -- ___ 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] Pasta global sem alguns arquivos - URGENTE
Value galera, o problema que não é o meu caso, é aqueles casos de uma empresa que só lembra de ti quando tudo está pegando fogo... abraço Fabio - Original Message - From: Glauco Torres To: Comunidade PostgreSQL Brasileira Sent: Tuesday, April 24, 2012 9:48 AM Subject: Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE BD em windows é ruin hein... a não se que for somente para pequenos testes ( que ao que parece não é seu caso )...produção é linux No dia 24 de Abril de 2012 09:31, Emerson Martins emersonmarti...@gmail.com escreveu: Concordo plenamente com o Tiago. Não é porque o windows não presta, porém lá se as politicas de acesso não forem bem definidas..acaba sempre em desastre.O ideal seria migrar para a plataforma linux caso você tenha conhecimento.. Emerson Martins DBA Em 23 de abril de 2012 22:39, Tiago Adami adam...@gmail.com escreveu: Em 23 de abril de 2012 11:18, Fabrízio de Royes Mello fabriziome...@gmail.com escreveu: Creio que vc esteja em apuros... sem backup desse diretório é muito difícil restabelecer esse cluster. Vc pode até tentar criar o global/pg_control vazio dentro do cluster e rodar o pg_resetxlog, mas o PG precisa de outros arquivos dentro dessa pasta, como o pg_filenode.map... então não sei se vc conseguirá restabelecer esse cluster... mais alguém tem alguma dica? Não quero ser pessimista, mas apenas ser realista e fazer um comentário pertinente: já vi isto acontecer em muitos casos durante minha vida profissional com PostgreSQL + Windows. As principais causas de sumir estes arquivos são: 1) erro operacional (usuário) ou 2) erro de disco (lógico ou físico). Se não há backup nem dump para recuperar, sinto muito... -- TIAGO J. ADAMI http://www.adamiworks.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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Pasta global sem alguns arquivos - URGENTE
Pessoal, estou numa encrenca aqui, uma base 9.1.2 (so Windows) não inicializa, notei que a mensagem de erro (no windows) diz assim: postgres: could not find the database system Expected to find it in the directory C:/Program Files/PostgreSQL/9.1/data, but could not open file C:/Program Files/PostgreSQL/9.1/data/global/pg_control: No such file or directory E realmente na pasta global só tem o pgstat.stat. Alguma dica de como contornar isto? (* não tem backup desta pasta) abraços Fábio ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE
Infelizmente não resolveu... apenas mudou o erro... BRT PANIC: could not read from control file: No error Em 23 de abril de 2012 10:06, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, estou numa encrenca aqui, uma base 9.1.2 (so Windows) não inicializa, notei que a mensagem de erro (no windows) diz assim: postgres: could not find the database system Expected to find it in the directory C:/Program Files/PostgreSQL/9.1/data, but could not open file C:/Program Files/PostgreSQL/9.1/data/global/pg_control: No such file or directory E realmente na pasta global só tem o pgstat.stat. Alguma dica de como contornar isto? (* não tem backup desta pasta) Creio que vc esteja em apuros... sem backup desse diretório é muito difícil restabelecer esse cluster. Vc pode até tentar criar o global/pg_control vazio dentro do cluster e rodar o pg_resetxlog, mas o PG precisa de outros arquivos dentro dessa pasta, como o pg_filenode.map... então não sei se vc conseguirá restabelecer esse cluster... mais alguém tem alguma dica? Att, -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello Twitter: http://twitter.com/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE
meu Deus... a pasta data/base só tem folders vazias... 0 arquivos... lascou de vez... - Original Message - From: Fabrízio de Royes Mello To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Monday, April 23, 2012 11:18 AM Subject: Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE Em 23 de abril de 2012 10:06, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, estou numa encrenca aqui, uma base 9.1.2 (so Windows) não inicializa, notei que a mensagem de erro (no windows) diz assim: postgres: could not find the database system Expected to find it in the directory C:/Program Files/PostgreSQL/9.1/data, but could not open file C:/Program Files/PostgreSQL/9.1/data/global/pg_control: No such file or directory E realmente na pasta global só tem o pgstat.stat. Alguma dica de como contornar isto? (* não tem backup desta pasta) Creio que vc esteja em apuros... sem backup desse diretório é muito difícil restabelecer esse cluster. Vc pode até tentar criar o global/pg_control vazio dentro do cluster e rodar o pg_resetxlog, mas o PG precisa de outros arquivos dentro dessa pasta, como o pg_filenode.map... então não sei se vc conseguirá restabelecer esse cluster... mais alguém tem alguma dica? Att, -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello Twitter: http://twitter.com/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE
Euler, então, esta base é de uma empresa que estou tendo o primeiro contato agora, me disseram apenas que o banco não iniciava e se eu poderia ajudar... notei que o HD estava quase 100% cheio e nos logs do PostgreSQL só tenho isto: 2012-04-20 15:09:03 BRT PÂNICO: não pôde abrir arquivo de controle global/pg_control: No such file or directory This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 2012-04-20 15:09:03 BRT LOG: processo escritor em segundo plano (PID 2180) terminou com código de retorno 3 2012-04-20 15:09:03 BRT LOG: terminando quaisquer outros processos servidor ativos 2012-04-20 15:09:03 BRT LOG: todos os processos servidor foram terminados; reinicializando 2012-04-20 15:09:13 BRT FATAL: bloco de memória compartilhada pré-existente ainda está em uso 2012-04-20 15:09:13 BRT DICA: Verifique se ainda há processos servidor antigos sendo executados, e termine-os. Liberei algum espaço em disco, e tentei reiniciar, então o erro repetiu, olhei no diretório e realmente não existe (estou como admin), agora fui fazer um backup do /data inteiro para tentar algo, dai notei que foi muito rápido, fui ver as subfolders na folder /data/base e todas estão vazias... notei também que ele tinha um backup via pg_dump, que sempre sobrescrevia o mesmo arquivo (que está zerado agora)... Se existir alguém de TI lá está frito... obrigado a todos! * ah, não há versões anteriores no SO destas pastas. abraço Fabio - Original Message - On 23-04-2012 12:29, Fabrízio de Royes Mello wrote: Mesmo isso funcionando, como vc *perdeu* os arquivos do global o PostgreSQL não vai conseguir iniciar em um estado consistente pois faltam mais arquivos necessários (pg_filenode.map e pg_internal.init). Eu não sei se esses dois arquivos são possíveis de recriar... se alguém souber... Se você perder todos os arquivos do diretório global, você está em apuros. Ali ficam os catálogos compartilhados (bancos de dados, roles, tablespaces, etc), o mapeamento catálogo-filenode (pg_filenode.map) para tabelas globais, informações de controle tais como estado e _checkpoint_ (pg_control) e cache de catálogos (pg_internal.init). Somente o último é o único que será recriado caso desapareça. OP, como os arquivos sumirão dali? -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE
Algumas mensagens que eram comuns durante todo o período de uso do banco... Segue as últimas anteriores ao erro: 2012-04-20 13:42:07 BRT LOG: could not receive data from client: unrecognized winsock error 10061 2012-04-20 13:42:07 BRT LOG: unexpected EOF on client connection 2012-04-20 14:44:58 BRT LOG: could not receive data from client: unrecognized winsock error 10061 2012-04-20 14:44:58 BRT LOG: unexpected EOF on client connection abraço Fabio - Original Message - E antes disso o que há? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE
Pessoal, apenas para não deixa-los sem retorno do desfecho, descobrimos que um outro usuário com poderes de administrador deletou algumas pastas e arquivos para liberar espaço no disco que estava quase cheio... só matando um índio destes. Daí encontramos as pastas/arquivos na lixeira do windows, restauramos e tudo voltou a vida. Obrigado a todos abraço Fabio - Original Message - From: Fábio Gibon - Comex System gi...@comexsystem.com.br To: Euler Taveira eu...@timbira.com; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Monday, April 23, 2012 2:44 PM Subject: Re: [pgbr-geral] Pasta global sem alguns arquivos - URGENTE Algumas mensagens que eram comuns durante todo o período de uso do banco... Segue as últimas anteriores ao erro: 2012-04-20 13:42:07 BRT LOG: could not receive data from client: unrecognized winsock error 10061 2012-04-20 13:42:07 BRT LOG: unexpected EOF on client connection 2012-04-20 14:44:58 BRT LOG: could not receive data from client: unrecognized winsock error 10061 2012-04-20 14:44:58 BRT LOG: unexpected EOF on client connection abraço Fabio - Original Message - E antes disso o que há? ___ 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] Log de colunas renomeadas
Pessoal, há alguma forma de logarmos as colunas renomeadas, visto que não podemos adicionar trigger nas tabelas de dicionário de dados do banco? abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Instalação no linux usando EnterpriseDB modo texto
Pessoal, é tranquilo instalar o PostgreSQL (9.1) x64 usando o instalador da EnterpriseDB no modo texto? Nesta mesma máquina que vou instalar já tem um PostgreSQL 8.3 e o SO é um RHel 4. É tranquilo manter os dois executando na instalação feita deste modo? (basta colocar os binários e o data em diretórios diferentes e usar outra porta?) abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Instalação no linux usando EnterpriseDB modo texto
2012/2/8 Fábio Gibon - Comex System gi...@comexsystem.com.br: Pessoal, é tranquilo instalar o PostgreSQL (9.1) x64 usando o instalador da EnterpriseDB no modo texto? Nesta mesma máquina que vou instalar já tem um PostgreSQL 8.3 e o SO é um RHel 4. É tranquilo manter os dois executando na instalação feita deste modo? (basta colocar os binários e o data em diretórios diferentes e usar outra porta?) abraços Fábio Henrique Gibon rhel 4 esta morto, recomendo utilizar o rhel 5.x ou 6.x Infelizmente o SO não é gerenciado por nó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] Alterar campo em tabela particionada
Flávio, fiz este teste também e o tempo permaneceu o mesmo de alterar a tabela pai com a herança ligada... mas valeu! Sua tabela pai tem dados? Manda aí: ANALYZE sua_tabela_pai; SELECT n_live_tup FROM pg_stat_user_tables WHERE relname = 'sua_tabela_pai'; []s Flavio Gurgel Flavio, a tabela_pai está vazia, as regras da trigger não permitem dados nela. abraço Fábio ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Alterar campo em tabela particionada
Você pode alterar os tipos por partição e depois na tabela pai. Imagine as tabelas: x (pai) x1 (filha 1) x2 (filha 2) Flávio, fiz este teste também e o tempo permaneceu o mesmo de alterar a tabela pai com a herança ligada... mas valeu! sds Fábio Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] OFF-TOPIC - Vaga para DBA PostgreSQL
Experiência de mais de 2 anos e continua como Jr? - Original Message - From: Victor Hugo vh.cleme...@gmail.com To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Monday, January 09, 2012 8:02 PM Subject: Re: [pgbr-geral] OFF-TOPIC - Vaga para DBA PostgreSQL Requisitos mínimos: - Capacidade de trabalhar em equipe e sob coordenação e pressão; - Disponibilidade de trabalhar em período integral (segunda a sexta, 8 horas diários); - Disponibilidade para atendimentos de plantão fora do horário normal de trabalho e disponível para viagens; - Experiência de mais de 2 anos com PostgreSQL; - Conhecimento em PL/PgSQL; - Habilidade e conhecimento para trabalhar com Linux ( Centos ) - Linux e Unix shell script; - Tunning de bancos de dados PostgreSQL; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Alterar campo em tabela particionada
Pessoal, fizemos alguns testes aqui com tabelas particionadas (10 partições, por exemplo). Ao alterar o datatype de um campo (da pai, é claro) o tempo deste comando ficou 20% mais lento do que alterar o mesmo campo para uma cópia desta tabela, porém uma única tabela, sem partições. O campo alterado no teste não faz parte de índice algum e a alteração foi bem simples, de varchar(30) para varchar(50). Entendo que o esforço é o mesmo quanto ao volume de dados, porém na tabela particionada há mais controles e objetos a nível de dicionário de dados. Mas mesmo assim acreditava que a diferença não fosse tão grande. Há algum recurso para otimizar esta operação? * como são várias partições não seria viável ter várias threads para fazer isto simultaneamente? * banco PostgreSQL 9.0 (e 9.1) * SO Windows abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Distribuição em discos
Pessoal, sem uma análise muito profunda, uma instalação de um cluster usando 3 discos (um para os WAL, outro para as tables e um último para os indexes) estaria no caminho do ideal? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Distribuição em discos
From: Euler Taveira de Oliveira eu...@timbira.com sem uma análise muito profunda, uma instalação de um cluster usando 3 discos (um para os WAL, outro para as tables e um último para os indexes) estaria no caminho do ideal? A pergunta carece de dados do cenário mas sendo direto: do ponto de vista de performance, sim; do ponto de vista de segurança dos dados, não. Euler, você considera inaceitável um banco de produção não estar com o archive_mode ativo? abraço Fábio Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] erro no postgresql could not open relation
Pedro, o primeiro passo é você identificar que objeto é o 19053. Faça esta consulta ai: select * from pg_class where relfilenode = 19053 Conhecendo o objeto fica mais fácil você tomar a decisão do que fazer. abraço Fábio Gibon - Original Message - From: Pedro B. Alves To: Comunidade PostgreSQL Brasileira Sent: Thursday, December 22, 2011 9:49 AM Subject: Re: [pgbr-geral] erro no postgresql could not open relation esta é a mensagem certa: ERROR: could not open relation 17874/17875/19053: No such file or directory. Em 22 de dezembro de 2011 10:41, Pedro B. Alves pedroalve...@gmail.com escreveu: pessoal após uma queda de energia eu não consigo mais abrir meu sistema está dando o seguinte erro: Postgres error: could not open relation base/x/y estou usando o PG 8.2 windows XP -- ___ 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] RES: Restore de arquivo formato plain-text
Se eu fosse você, restauraria todo o dmp em uma outra máquina (ambiente de teste, por exemplo) e geraria um novo dmp com o database requerido, no formato pg_dump -fc -n (-n para exportar apenas os objetos de um esquema). A partir de um banco inteiro é possível fazer dump só de uma tabela pela opção -t do pg_dump. Valeu Flávio, acabei criando um baca que lê o arquivo, localiza o que eu quero e copia para um novo arquivo, assim eu fico só com o que realmente preciso restaurar... abraço Fábio Gibon []s Flavio Gurgel ___ 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] Restore de arquivo formato plain-text
Sei que dá para fazer isso utilizando pg_restore --list, só não me recordo agora se é no modo custom ou plain. Veja o webcast do Dickinson, ele trata deste assunto, inclusive ele já comentou deste em outras threads. pg_restore só a partir de um arquivo no modo custom, que não é o caso... Pessoal, a situação é um pouco pior, descobri que o backup é feito com um pg_dumpall arquivo.dmp (sem parâmetro algum) e no cluster existem vários bancos (produção e testes), agora eu preciso retornar apenas o backup de meia-dúzia de tabelas de um banco específico. Há algo pronto para resolver isto ou terei que editar o arquivo .dmp mesmo? abraços Fábio Gibon []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Restore de arquivo formato plain-text
Pessoal, existe algum utilitário para ler e fazer o restore de apenas uma tabela de um arquivo gerado pelo pg_dump com a option -Fp? (sem ter que editar o arquivo texto obviamente) abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] pg_resetxlog
Pessoal, tenho uma base 9.0 (windows) que corrompeu os pg_xlog e o banco não inicializa, o único backup existente é um dump do dia anterior, há alguma alternativa menos drástica do que tentar resetar os WAL com o pg_resetxlog? abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] pg_resetxlog
Segue log... --- primeiro log após a falha --- 2011-12-05 12:56:50 BRT LOG: sistema de banco de dados foi interrompido; última execução em 2011-12-05 10:30:49 BRT 2011-12-05 12:56:50 BRT LOG: sistema de banco de dados não foi desligado corretamente; recuperação automática está em andamento 2011-12-05 12:56:50 BRT LOG: estado de recuperação consistente atingido em C/4DADE530 2011-12-05 12:56:50 BRT LOG: unrecognized win32 error code: 1392 2011-12-05 12:56:50 BRT PÂNICO: não pôde abrir arquivo pg_xlog/0001000C004C (arquivo de log 12, segmento 76): Invalid argument This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 2011-12-05 12:56:50 BRT LOG: processo de inicialização (PID 2148) terminou com código de retorno 3 2011-12-05 12:56:50 BRT LOG: interrompendo inicialização porque o processo de inicialização falhou --- log atual ao tentar iniciar o banco --- 2011-12-05 22:58:23 BRT LOG: sistema de banco de dados foi interrompido enquanto estava sendo recuperado em 2011-12-05 12:56:50 BRT 2011-12-05 22:58:23 BRT DICA: Isso provavelmente significa que algum dado foi corrompido e você terá que utilizar o último backup para recuperação. 2011-12-05 22:58:23 BRT LOG: não pôde abrir arquivo pg_xlog/0001000C004D (arquivo de log 12, segmento 77): No such file or directory 2011-12-05 22:58:23 BRT LOG: registro do ponto de controle primário é inválido 2011-12-05 22:58:23 BRT LOG: não pôde abrir arquivo pg_xlog/0001000C004D (arquivo de log 12, segmento 77): No such file or directory 2011-12-05 22:58:23 BRT LOG: registro do ponto de controle secundário é inválido 2011-12-05 22:58:23 BRT PÂNICO: não pôde localizar registro do ponto de controle válido This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 2011-12-05 22:58:23 BRT LOG: processo de inicialização (PID 132) terminou com código de retorno 3 2011-12-05 22:58:23 BRT LOG: interrompendo inicialização porque o processo de inicialização falhou - Original Message - From: Emerson Martins To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Tuesday, December 06, 2011 8:42 AM Subject: Re: [pgbr-geral] pg_resetxlog Fabio qual a mensagem de erro exibida..Posta ai para nós. Emerson Martins DBA 82 9123-5504 82 9668-1283 Em 6 de dezembro de 2011 09:04, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, tenho uma base 9.0 (windows) que corrompeu os pg_xlog e o banco não inicializa, o único backup existente é um dump do dia anterior, há alguma alternativa menos drástica do que tentar resetar os WAL com o pg_resetxlog? abraços Fábio Henrique Gibon ___ 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] pg_resetxlog
--- primeiro log após a falha --- 2011-12-05 12:56:50 BRT LOG: sistema de banco de dados foi interrompido; file or directory Pelo que entendi estás usando Windows. Este arquivo existe no diretório? Ele tem permissões corretas para o usuário postgres? O diretório existe, ele não era um link simbólico pra outro disco no Windows? [Gibon] Exatamente isto, windows e não existe o arquivo 2011-12-05 22:58:23 BRT LOG: registro do ponto de controle primário é inválido Se você não encontrar o arquivo faltante (ou posteriores, ele pode não ser o último) e seu backup por dump é muito antigo, fazer o pg_resetxlog é uma alternativa que vai fazer com que você perca *menos* dados, mas vai perder dados das transações presentes no arquivo WAL indicado e posteriores. Você não tinha backup pela estratégia PITR (base + archive) ? [Gibon] Esta base não é administrada por nós, fomos acionado apenas agora, na hora do incêndio... o único backup é o dump e há mensagem de erro de disco no SO. []s Flavio Gurgel ___ 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] pg_resetxlog
Pelo que entendi estás usando Windows. Este arquivo existe no diretório? Ele tem permissões corretas para o usuário postgres? O diretório existe, ele não era um link simbólico pra outro disco no Windows? [Gibon] Exatamente isto, windows e não existe o arquivo 2011-12-05 22:58:23 BRT LOG: registro do ponto de controle primário é inválido Se você não encontrar o arquivo faltante (ou posteriores, ele pode não ser o último) e seu backup por dump é muito antigo, fazer o pg_resetxlog é uma alternativa que vai fazer com que você perca *menos* dados, mas vai perder dados das transações presentes no arquivo WAL indicado e posteriores. Você não tinha backup pela estratégia PITR (base + archive) ? [Gibon] Esta base não é administrada por nós, fomos acionado apenas agora, na hora do incêndio... o único backup é o dump e há mensagem de erro de disco no SO. Bom, então houve mesmo perda de dados. Copie o cluster para outro disco reconhecidamente bom, use o pg_resetxlog e assim você provavelmente conseguirá utilizar o banco de dados com uma perda de dados menor do que a restauração do último dump. Note que outros arquivos podem ter sido corrompidos ou perdidos. Faça um pgdump logo após conseguir acessar os dados para garantir que tudo é legível. [Gibon] Flávio, tentei fazer isto, mas ao fazer o dump eu recebi outra mensagem de erro (e isto já aconteceu comigo em outras duas situações que usei o pg_resetxlogs) e acabei não conseguindo voltar a base e então tive que usar o dump. O erro no momento do novo dump foi: cabeçalho de página é inválido no bloco 147859 da relação /base/16393/769035. Alguma dica porque isto aconteceu? O arquivo do banco também estava corrompido? []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] pg_resetxlog
On 06-12-2011 19:14, Fábio Gibon - Comex System wrote: [Gibon] Flávio, tentei fazer isto, mas ao fazer o dump eu recebi outra mensagem de erro (e isto já aconteceu comigo em outras duas situações que usei o pg_resetxlogs) e acabei não conseguindo voltar a base e então tive que usar o dump. O erro no momento do novo dump foi: cabeçalho de página é inválido no bloco 147859 da relação /base/16393/769035. Alguma dica porque isto aconteceu? O arquivo do banco também estava corrompido? Porque o disco corrompeu o arquivo 769035 também. [Gibon] É, então lascou mesmo... blz, valeu! -- Euler Taveira de Oliveira - 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Vacuum full - informação de execução
Pessoal, o vacuum com a opção de full não fica registrado na pg_stat_all_tables (em last_vacuum). Há algum local do dicionário de dados que eu encontro a data do último vacuum full de uma tabela? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Vacuum full - informação de execução
Complementando... versão 9.0.3 - Original Message - From: Fábio Gibon - Comex System To: PostgreSQL - BR List Sent: Monday, November 07, 2011 7:55 PM Subject: [pgbr-geral] Vacuum full - informação de execução Pessoal, o vacuum com a opção de full não fica registrado na pg_stat_all_tables (em last_vacuum). Há algum local do dicionário de dados que eu encontro a data do último vacuum full de uma tabela? abraços Fábio Henrique Gibon -- ___ 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] Vacuum full - informação de execução
JotaComm, obrigado pelo retorno, mas infelizmente nos testes que fiz não funciona. Ah, a pg_stat_user_tables é uma view sobre a view que citei (pg_stat_all_tables). vacuum tabela - registra vacuum full tabela - não registra Alguma outra dica? Será que tem algum parâmetro diferente nas bases que testei? um abraço Gibon - Original Message - From: JotaComm To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Monday, November 07, 2011 8:59 PM Subject: Re: [pgbr-geral] Vacuum full - informação de execução Olá, Fábio Em 7 de novembro de 2011 21:22, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Complementando... versão 9.0.3 - Original Message - From: Fábio Gibon - Comex System To: PostgreSQL - BR List Sent: Monday, November 07, 2011 7:55 PM Subject: [pgbr-geral] Vacuum full - informação de execução Pessoal, o vacuum com a opção de full não fica registrado na pg_stat_all_tables (em last_vacuum). Há algum local do dicionário de dados que eu encontro a data do último vacuum full de uma tabela? A execução do vacuum fica registrado na tabela pg_stat_user_tables, tabelas criadas pelo usuário. O registro é do último vacuum independente se é vacuum full ou vacuum. abraços Fábio Henrique Gibon -- ___ 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 Abraços -- 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] Parãmetros para uma view
View não recebe parâmetros... uma solução bastante simples é você ter uma tabela com estes parâmetros e usá-la na view, então você altera os valores na tabela e consulta novamente a view... sds Fábio Gibon - Original Message - From: Diogo Borsoi diogobor...@gmail.com To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Thursday, September 08, 2011 7:54 PM Subject: [pgbr-geral] Parãmetros para uma view Pessoal, Tenho uma view que precisará, se possível, ser reutilizada com parâmetros distintos. Ex: SELECT to_char(tabela1.data, 'mmdd'::text) AS data, count(*) AS total_00_06 FROM tabela1 WHERE tabela1.latitude = (- 01.0896::double precision) AND tabela1.latitude = (- 02.9621::double precision) AND tabela1.longitude = (- 03.1451::double precision) AND tabela1.longitude = (- 01.2345::double precision) AND tabela1.data = (now() + '03:00:00'::interval - '180 days'::interval) AND to_number(to_char(tabela1.data - '03:00:00'::interval, 'hh24'::text), '99'::text) = 0::numeric AND to_number(to_char(tabela1.data - '03:00:00'::interval, 'hh24'::text), '99'::text) = 6::numeric GROUP BY to_char(tabela1.data, 'mmdd'::text) ORDER BY to_char(tabela1.data, 'mmdd'::text); Neste exemplo eu precisaria variar a latitude, longitude e data (180) passando os novos valores por parâmetro. É possível? Att. Diogo ___ 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] Dicas com soma com função agregada
Olá Túlio, veja se é isto que quer... select sum(x) from ( select max(data_fim) - min(data_inicio) X from historico_de_acesso where codigo = 5000 group by date_part('day',data_fim) ) sub - Original Message - From: Tulio Santos To: Comunidade PostgreSQL Brasileira Sent: Tuesday, August 23, 2011 1:16 PM Subject: [pgbr-geral] Dicas com soma com função agregada Boa tarde, Sou iniciante na área e estou com um problema que deve ser simples para muitos aqui, mas tem me feito perder muito tempo. Estou buscando uma forma de somar os resultados obtidos (em forma de hora) a partir de uma consulta, mas nesta consulta utilizo MAX e MIN... o que impossibilita o uso do SUM() exemplo do codigo usado: select max(data_fim) - min(data_inicio) from historico_de_acesso where codigo = 5000 group by date_part('day',data_fim) este me retorna algumas linhas.. e preciso somar estes resultados.. Alguem tem uma dica sobre como posso resolver este problema? ___ 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] bad block
Pessoal, tenho uma tabela aqui que ao tentar fazer um select count(*), por exemplo, ocorre o erro abaixo... no backup com o pg_dump também ocorre o mesmo erro na cópia da tabela. Alguma dica ou só um restore para resolver? Pensei em rodar um reindex, mas quando faço o select o banco não está usando índice e mesmo assim ocorre o erro, então achei inútil tentar isto... ERRO: could not read block 425902 of relation pg_tblspc/16396/24587/26175: Invalid argument SQL state: XX000 * windows server 2003 * postgresql 8.4.3 abraço Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] bad block
Valeu pela tentativa, mas como tem este bloco corrompido então não consigo percorrer toda a tabela para identificar o min e max... Em 22 de agosto de 2011 21:01, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, tenho uma tabela aqui que ao tentar fazer um select count(*), por exemplo, ocorre o erro abaixo... no backup com o pg_dump também ocorre o mesmo erro na cópia da tabela. Alguma dica ou só um restore para resolver? Se vc tem backup é bom pensar em utilizá-lo... Pensei em rodar um reindex, mas quando faço o select o banco não está usando índice e mesmo assim ocorre o erro, então achei inútil tentar isto... ERRO: could not read block 425902 of relation pg_tblspc/16396/24587/26175: Invalid argument SQL state: XX000 Já tive problemas semelhantes e o backup (pitr e coisas do genero) foram a salvação, mas tb já passei pelo mesmo caso e o cliente *nao tinha* nenhuma espécie de backup, então recuperei quase toda tabela (registro a registro) utilizando a pesquisa pelo ctid [1]... tente fazer o seguinte: select * from sua_tabela where ctid = '(425902, 1)'; É bem provável que dê erro, pois aparentemente vc está com problemas físicos... porém vc pode descobrir o menor e maior ctid da sua relação danificada e fazer um script que vai lendo registro a registro e salvando em outro banco/tabela e/ou arquivo texto. select min(ctid), max(ctid) from sua_tabela; Caso nada disso adiante e vc não tenha backup e os dados sejam *muito* importantes então sugiro contratar um DBA ou Consultoria especializada para poder melhor ajudá-lo. [1] http://www.postgresql.org/docs/current/interactive/ddl-system-columns.html -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello Twitter: http://twitter.com/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Qual a ordem certa do: Vacuum, Analyze e Reindex ?
Tem como identificar através das views do sistema se um índice está inchado? (claro, definindo um conceito de inchado, tipo x% de posições válida) sds Fábio Gibon - Original Message - From: Euler Taveira de Oliveira eu...@timbira.com Em 02-05-2011 15:49, Cristiano Alves escreveu: Gostaria de saber, qual a melhor ordem de execução dos procedimentos: Vacuum, Analyze e Reindex. E quais os parametros corretos para rodar esses procedimentos.Meu banco esta com 14 GB com postgres 8.2.11 e quero colocar para rodar no crontab diário na madrugada esses procedimentos. Apenas agende o vacuumdb com a opção de analyze (-z). O REINDEX só deve ser executado se (i) algum índice estiver inchado, (ii) algum índice estiver corrompido, (iii) houver alteração do parâmetro fillfactor. Portanto, eu não recomendaria executá-lo com a mesma frequência do VACUUM pois a causa de sua execução é frequentemente (i). Por último, atualize a versão para 8.2.21; houveram muitas correções nos últimos anos. Você não precisará somente atualizar os binários. -- Euler Taveira de Oliveira - 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 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] pg_cancel_backend e pg_terminate_backend
Pessoal, ocorreu uma situação em um banco 8.4 no windows onde uma conexão iniciou um select (que estava fazendo um produto cartesiano), então tentei terminar a transação/sessão e nada. Ao matar o processo diretamente o banco fez showdown. O que pode ter ocorrido para os comandos mesmo retornando t não terem tido efeito? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Select para retornar ultimo valor de cada ID
Que tal assim: SELECT distinct on (p.pessoa_id) p.pessoa_id, p.nome, f.fone FROM pessoas p, fones_pessoas WHERE p.pessoa_id=f.pessoa_id; abraços Fábio Henrique Gibon - Original Message - From: Marcone marconepe...@gmail.com To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Thursday, April 28, 2011 2:02 PM Subject: Re: [pgbr-geral] Select para retornar ultimo valor de cada ID Em 28 de abril de 2011 13:37, Jefferson Dias jefferso...@hotmail.com escreveu: Boa tarde Leandro, SELECT p.pessoa_id, p.nome, fone FROM pessoas p LEFT JOIN ( select pessoa_id, max(fone), from fones_pessoas group by pessoa_id) f ON(p.pessoa_id=f.pessoa_id); Não sei se entendi bem sua dúvida, mas acho que algo mais simples resolveria seu problema: select pes.*, (select numero from telefone where id_pessoa = pes.id limit 1) telefone from pessoa pes; Neste caso, dependendo do tamanho de sua tabela essa consulta pode ser um pouco lenta, mas se você filtrar a pessoa por algum campo com índice você terá uma desempenho melhor. -- Marcone Peres - DBA http://www.linkedin.com/in/marconeperes (61) 8146-0028 ___ 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] Tempo da trigger
Thiago, agradeço a tentativa... mas meu cenário é assim: - tenho um insert em uma tabela que tem 3 triggers - preciso saber o tempo que cada trigger levou - não posso alterar as triggers - o SO é windows - o postgresql é o 8.4 sds Fábio Gibon - Original Message - From: Thiago Bocchile To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Wednesday, April 20, 2011 9:18 AM Subject: Re: [pgbr-geral] Tempo da trigger A princípio, da pra usar o time via console do linux + psql + comando. Thiago Bocchile tyk...@gmail.com Linux User # 527010 http://about.me/tykoth +551381318881 Em 19 de abril de 2011 23:15, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, parece meio maluca esta minha pergunta, mas sem entrar em muitos detalhes da fundamentação dela, ai vai... Eu consigo logar o tempo de um comando (select, update, ...), porém no meu caso eu preciso logar o tempo de uma trigger (todos os steps dela num único valor de tempo), sem alterar a trigger (inserindo algo como log de início e fim). Existe algum recurso para isto? abraços Fábio Henrique Gibon ___ 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] Tempo da trigger
Pessoal, parece meio maluca esta minha pergunta, mas sem entrar em muitos detalhes da fundamentação dela, ai vai... Eu consigo logar o tempo de um comando (select, update, ...), porém no meu caso eu preciso logar o tempo de uma trigger (todos os steps dela num único valor de tempo), sem alterar a trigger (inserindo algo como log de início e fim). Existe algum recurso para isto? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Índices não utilizados
Olá pessoal, analisando as views de stat conseguimos identificar índices que não são utilizados, porém isto ainda não nos diz que esta não utilização é pela aplicação não estar fazendo uso de cláusulas que possam ser atendidas pelo índice ou pela tabela ser pequena e o otimizador optar por um table scan. Há como eu diferenciar isto em algum local do dicionário de dados do banco? * provisoriamente adotei um valor x de registros como sendo permissível/aceitável o table scan, então se o acesso sequencial retornar mais que este valor eu já fico de olho para ver se não tem problema de SQL mal escrito/erro de modelagem ou regra de negócio torta. abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Ajuda com índices
Olá Thiago, não ache que ele usa ou não, use o explain e veja o plano de execução, isto vai lhe ajudar a entender o que ele faz... Ainda, a tabela tabelafoo tem muitos registros? Se sim, pense em utilizar o exists (se a tabela tabelafoo tiver um índice pelo codpro). sds Fábio Gibon - Original Message - From: Thiago zan...@farmaponte.com.br To: pgbr-geral@listas.postgresql.org.br Sent: Friday, April 15, 2011 10:19 AM Subject: [pgbr-geral] Ajuda com índices Pessoal, bom dia. Eu confesso que não entendo muito sobre índices no postgre, mas imagino qual seja o problema. Tenho uma tabela de movimentação onde o campo código do produto está no tipo Real e tenho o seguinte select: select codigo,sum(qtd) from vendas where codigo in (1,2,3) and data between '01/01/2010' and '31/12/2010' group by codigo Quando eu rodo o select dessa forma roda super rápido, pois acho que ele utiliza os indices, porem quando executo o select utilizando o in em um subselect ele é super lento. Acontece que o campo código da outra tabela é do tipo Integer. Esse seria o select: select codigo,sum(qtd) from vendas where codigo in ( select codpro from tabelafoo ) and data between '01/01/2010' and '31/12/2010' group by codigo Esse subselect traz exatamente os mesmos código de quando eu coloco os números separados por vírgula. Eu acho que por serem tipos de campos diferentes ele não está utilizando o índice da tabela de vendas. Eu já tentei dando cast no subselect mas mesmo assim não adiantou. Alguém saberia me ajudar? Estou postando junto o Explain dos dois selects: Rápido: QUERY PLAN Merge Left Join (cost=549053.15..549059.80 rows=150 width=62) Merge Cond: (outer.balconista = inner.int_cod_balcao) - Sort (cost=548990.82..548990.90 rows=30 width=20) Sort Key: vnd.balconista - Sort (cost=548989.71..548989.78 rows=30 width=20) Sort Key: n.movfilcom, n.movcodbal - HashAggregate (cost=548988.45..548988.97 rows=30 width=20) - Bitmap Heap Scan on stfil021_new n (cost=45001.52..548869.49 rows=11896 width=20) Recheck Cond: ((movdatmov = '2010-10-01'::date) AND (movdatmov = '2011-03-30'::date)) Filter: ((movcodite = 44067::double precision) OR (movcodite = 25372::double precision) OR (movcodite = 173207::double precision) OR (movcodite = 206857::double precision) OR (movcodite = 206865::double precision) OR (movcodite = 43621::double precision) OR (movcodite = 173193::double precision)) - Bitmap Index Scan on stfil021_new_idx1 (cost=0.00..45001.52 rows=5121753 width=0) Index Cond: ((movdatmov = '2010-10-01'::date) AND (movdatmov = '2011-03-30'::date)) - Sort (cost=62.33..64.83 rows=1000 width=46) Sort Key: sp_com_lista_func.int_cod_balcao - Function Scan on sp_com_lista_func (cost=0.00..12.50 rows=1000 width=46) Demorado: QUERY PLAN Merge Right Join (cost=274652.49..274795.49 rows=9200 width=62) Merge Cond: (outer.int_cod_balcao = inner.balconista) - Sort (cost=62.33..64.83 rows=1000 width=46) Sort Key: sp_com_lista_func.int_cod_balcao - Function Scan on sp_com_lista_func (cost=0.00..12.50 rows=1000 width=46) - Sort (cost=274590.16..274594.76 rows=1840 width=20) Sort Key: vnd.balconista - GroupAggregate (cost=274416.78..274471.98 rows=1840 width=20) - Sort (cost=274416.78..274421.38 rows=1840 width=20) Sort Key: n.movfilcom, n.movcodbal - Nested Loop (cost=270727.12..274317.00 rows=1840 width=20) - HashAggregate (cost=2.20..2.21 rows=1 width=4) - Seq Scan on tb_com_camp_det d (cost=0.00..2.20 rows=1 width=4) Filter: (int_camp_cab = 22) - Bitmap Heap Scan on stfil021_new n (cost=270724.92..274287.19 rows=1840 width=24) Recheck Cond: ((n.movcodite = (outer.int_cod_prod)::real) AND (n.movdatmov = '2010-10-01'::date) AND (n.movdatmov = '2011-03-30'::date)) - Bitmap Index Scan on stfil021_new_idx_fil_ite_dat (cost=0.00..270724.92 rows=1840 width=0) Index Cond: ((n.movcodite = (outer.int_cod_prod)::real) AND (n.movdatmov = '2010-10-01'::date) AND (n.movdatmov = '2011-03-30'::date)) --- Depois desse livro agradeço quem puder me ajudar. Abraços! ___ 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
Re: [pgbr-geral] SUM e DISTINC
select id, sum(distinct nota) from tabela group by id sds Fábio Gibon - Original Message - From: fabiano.fernandes cont...@fabianofernandes.adm.br To: pgbr-geral@listas.postgresql.org.br Sent: Wednesday, April 13, 2011 2:47 PM Subject: [pgbr-geral] SUM e DISTINC Tentando desvendar meu problema com a minha sentença com SUM, descobri o seguinte. Tenho meus dados assim id | nota +--- 1 | 4.5 1 | 5.0 1 | 4.5 1 | 5.0 Para busca-las eu dou um SELECT DISTINCT e me retorna o valores que preciso (desprezo os valores duplicados), retornando o seguinte: id | nota +--- 1 | 4.5 1 | 5.0 Então quero somar estes valores retornado e gostaria que ficasse da seguinte forma. id | nota +--- 1 | 9.5 Mas é retornado isto: id | nota +--- 1 | 19.0 Como fazer para que seja retornado o valor que preciso? id | nota +--- 1 | 9.5 Att -- View this message in context: http://postgresql.1045698.n5.nabble.com/SUM-e-DISTINC-tp4301238p4301238.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.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] Shared_buffers limitado no Win
Pessoal, tem alguma forma de definir um valor maior que 512Mb de shared_buffer no Windows? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Shared_buffers limitado no Win
Olá Gustavo, é windows server 2003 e possui 4Gb de RAM. sds Fábio Gibon - Original Message - From: Gustavo Garay lis...@shitech.com.py To: Fábio Gibon - Comex System gi...@comexsystem.com.br; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Tuesday, April 12, 2011 10:02 AM Subject: Re: [pgbr-geral] Shared_buffers limitado no Win Pessoal, tem alguma forma de definir um valor maior que 512Mb de shared_buffer no Windows? abraços Fábio Henrique Gibon Cual es la version de su Windows ? y cuanto de memoria RAM posee ? o Qual é a versão do Windows? e quanta memória RAM você tem? saludos Gustavo Garay ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Shared_buffers limitado no Win
Obrigado por corrigir a unidade de memória, assim facilitará para outros poderem responder a minha dúvida. sds Fábio Gibon - Original Message - From: Leandro DUTRA leandro.gfc.du...@gmail.com To: Fábio Gibon - Comex System gi...@comexsystem.com.br; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Tuesday, April 12, 2011 10:32 AM Subject: Re: [pgbr-geral] Shared_buffers limitado no Win 2011/4/12 Fábio Gibon - Comex System gi...@comexsystem.com.br: tem alguma forma de definir um valor maior que 512Mb de shared_buffer no Windows? 512 Mb = 512 megabits = 512/8 megabytes = 64 MB -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191 ICQ/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] Shared_buffers limitado no Win
Em 12-04-2011 09:03, Fábio Gibon - Comex System escreveu: tem alguma forma de definir um valor maior que 512Mb de shared_buffer no Windows? Qual a versão do PostgreSQL? Qual a mensagem de erro ao tentar definir valor maior? PostgreSQL 8.4.3 Windows Server 2003 - Standard Edition - SP1 - 32bits 2011-04-12 12:10:22 BRT FATAL: não pôde criar segmento de memória compartilhada: 8 2011-04-12 12:10:22 BRT DETALHE: Falhou ao executar chamada de sistema MapViewOfFileEx. Tem 4GB e está sobrando 2,5GB Tentei setar shared_buffers para 1GB, com 768MB subiu. -- 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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Converter número negativo para zero
select greatest(seu número,0); * retorna o maior valor entre os dois atributos passados. Sendo assim resolve o seu exemplo. sds Fábio Gibon - Original Message - From: Thiago zan...@farmaponte.com.br To: pgbr-geral@listas.postgresql.org.br Sent: Monday, April 11, 2011 8:33 AM Subject: [pgbr-geral] Converter número negativo para zero Galera, bom dia. Seguinte, preciso algo parecido com a função ABS, mas sempre que um valor for menor que zero gostaria que retornasse 0 e se for maior retorna o próprio número. Exemplo: select Func(-5); Retorno = 0 select Func(-1); Retorno = 0 select Func(0); Retorno = 0 select Func(1); Retorno = 1 Alguém sabe se o postgre tem alguma função para isso ou eu teria que construir? Obrigado! ___ 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] Postgre com Delphi
Alexandre, sugiro usar os componentes Zeos para acessar o PostgreSQL. sds Fábio Gibon - Original Message - From: Alexandre S Gondim To: pgbr-geral@listas.postgresql.org.br Sent: Friday, April 08, 2011 9:47 PM Subject: [pgbr-geral] Postgre com Delphi Ola galera Sou desenvolvedor Delphi. Tenho sistemas que trabalham com BDE e outros com o Firebord. Estou tentado a partir para o Postgre, tenho ouvido maravilhas sobre ele. No entanto, estou apanhando em questões básicas. Como instalar no servidor, o que instalar e como configurar os terminais, etc. Alguém já teve essa experiência ? Algum livro ou apostila que pudesse me ajudar. Abraços. Alexandre S G -- ___ 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] Wal_buffers e wal files
Pessoal, por favor, vejam se o conceito do uso do wal_buffers e WAL files está de acordo. Wal_buffers é um espaço de memória (na shared_buffers) utilizado para armazenar dados das transações correntes. Quando uma transação inicia ela grava seus dados na wal_buffers, porém ao terminar (checkpoint por commit ou outros fatores) os dados são gravados nos WAL files (pg_xlog). Se wal_buffers for muito pequeno e tivermos transações grandes irá ocorrer gravações nos WAL files com uma frequência maior do que o necessário, se o wal_buffers tivesse uma capacidade maior. Ok? Um outro processo fica lendo os WAL files e gravando definitivamente nos data files? * trabalho com outro banco já há muito tempo, então estou tentando relacionar os conceitos de UNDO, Redo Log, SGA,... abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Wal_buffers e wal files
Euler, muito obrigado. Segue abaixo novos comentários/dúvidas... sds Fábio Gibon - Original Message - From: Euler Taveira de Oliveira eu...@timbira.com To: pgbr-geral@listas.postgresql.org.br Sent: Thursday, April 07, 2011 10:34 AM Subject: Re: [pgbr-geral] Wal_buffers e wal files Em 07-04-2011 09:59, Fábio Gibon - Comex System escreveu: Wal_buffers é um espaço de memória (na shared_buffers) utilizado para armazenar dados das transações correntes. Não. É o espaço de memória compartilhada (não é do shared buffers) utilizado para armazenar dados de uma transação. [Gibon] Mas onde eu defino a memória compartilhada? Quando uma transação inicia ela grava seus dados na wal_buffers, porém ao terminar (checkpoint por commit ou outros fatores) os dados são gravados nos WAL files (pg_xlog). Não. Os dados só vão para wal buffers no momento do COMMIT; eles permanecem no shared buffers até que a transação seja efetivada. [Gibon] Mas se wal_buffers é uma estrutura de memória e no commit os dados ainda estão nela, qual a garantia da transação comitada em caso de queda do banco? (falta de energia, por exemplo) Se wal_buffers for muito pequeno e tivermos transações grandes irá ocorrer gravações nos WAL files com uma frequência maior do que o necessário, se o wal_buffers tivesse uma capacidade maior. Ok? Não. Só há escrita no wal buffers no momento do COMMIT. Neste caso, se o wal buffers é pequeno para transação, é escrito algumas páginas nele (e dali para disco) e assim sucessivamente até que todos os dados da transação estejam escritos no WAL. [Gibon] Acho que estamos falando de coisas diferentes. Existe uma estrutura de memória (RAM) chamada WAL_BUFFERS? E também existem os WAL files (log transaction)... ?! Um outro processo fica lendo os WAL files e gravando definitivamente nos data files? Não. No PostgreSQL, os logs de transação só são lidos durante o *recovery*. Ao invés disso, os dados são lidos do shared buffers e escritos nos data files pelo processo writer (aka bgwriter). * trabalho com outro banco já há muito tempo, então estou tentando relacionar os conceitos de UNDO, Redo Log, SGA,... O conceito é um pouco diferente. Talvez lendo [1] te esclareça alguns pontos. [Gibon] Ok, acho que é leitura obrigatória mesmo... valeus. [1] http://wiki.postgresql.org/wiki/PostgreSQL_for_Oracle_DBAs -- 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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dúvida sobre WORK_MEM
O que é o estudo...:) Vou testar assim, muito obrigado. sds Fábio Gibon - Original Message - From: Euler Taveira de Oliveira eu...@timbira.com To: pgbr-geral@listas.postgresql.org.br Sent: Wednesday, April 06, 2011 9:34 AM Subject: Re: [pgbr-geral] Dúvida sobre WORK_MEM Em 05-04-2011 19:55, Flavio Henrique Araque Gurgel escreveu: O work_mem não é por conexão. O valor de work_mem não é nem por conexão nem por agrupamento. Numa mesma consulta o valor utilizado pode ser n * work_mem, onde n depende da consulta. Eu utilizo um método diferente dos colegas: (i) ajusto um valor baixo (tipicamente 1MB ou 2MB), (ii) habilito a gravação de todos os arquivos temporários (log_temp_files = 0), (iii) coleto os valores do log após algum tempo e (iv) avalio o desvio padrão e a regularidade das consultas para pegar um valor entre o 75º percentil e 95º percentil. -- 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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dúvida sobre WORK_MEM
Valeu Flávio, vou comparar sua regra com algumas configurações que costumo fazer. um abraço Fábio Gibon - Original Message - From: Flavio Henrique Araque Gurgel fha...@gmail.com To: Fábio Gibon - Comex System gi...@comexsystem.com.br; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Tuesday, April 05, 2011 7:55 PM Subject: Re: [pgbr-geral] Dúvida sobre WORK_MEM Apenas para ratificar então, o work_mem é por conexão, mas é um limitador apenas, não uma memória préalocada, ok? O work_mem não é por conexão. Do manual: Note that for a complex query, several sort or hash operations might be running in parallel; each operation will be allowed to use as much memory as this value specifies before it starts to write data into temporary files. Explica que o work_mem pode ser alocado diversas vezes numa consulta complexa. Sim, o work_mem é um limite, não é uma alocação imediata. Minha regra de ouro pra evitar falta de memória num servidor PostgreSQL: shared_buffers + 2 * work_mem * max_connections + maintenance_work_mem * autovacuum_max_workers RAM disponível Lembrando que RAM disponível é o que sobra dela, subtraia aí o que seu SO precisa pra rodar e outras eventuais aplicações na mesma máquina. []s Flavio ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Dúvida sobre WORK_MEM
Pessoal, por favor, vejam se o conceito que tenho de work_mem está correto: work_mem: é um limite de memória (apenas um limite, não é prealocada) para operações de sort (order by, distinct, ...) antes de ter que utilizar disco para isto. É um valor total para o cluster, não por client/session/transaction... A minha dúvida é como consigo mensurar o uso da work_mem para saber se está super/sub dimensionada? Tem alguma view para isto? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Reset statio
Alguma dica sobre esta dúvida? sds Fábio Gibon - Original Message - From: Fábio Gibon - Comex System To: PostgreSQL - BR List Sent: Thursday, March 31, 2011 11:05 PM Subject: [pgbr-geral] Reset statio Pessoal, num ambiente com post 8.4 executei o pg_stat_reset(), os dados vistos em pg_stat_all_tables (por exemplo) ficaram zerados conforme o esperado, porém dados da pg_statio_... ainda permanecem, tem uma forma de zerá-los? abraços Fábio Henrique Gibon -- ___ 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] Dúvida sobre WORK_MEM
Fábio Rodriguez, obrigado pelo retorno. Apenas para ratificar então, o work_mem é por conexão, mas é um limitador apenas, não uma memória préalocada, ok? E via banco não tem como monitorar o uso desta então? (tipo pg_stat_temp...) sds Fábio Gibon - Original Message - From: Fábio Telles Rodriguez fabio.tel...@gmail.com To: Fábio Gibon - Comex System gi...@comexsystem.com.br; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Monday, April 04, 2011 12:50 PM Subject: Re: [pgbr-geral] Dúvida sobre WORK_MEM Em 4 de abril de 2011 11:15, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, por favor, vejam se o conceito que tenho de work_mem está correto: work_mem: é um limite de memória (apenas um limite, não é prealocada) para operações de sort (order by, distinct, ...) antes de ter que utilizar disco para isto. É um valor total para o cluster, não por client/session/transaction... Não está correto. O valor é um limite por conexão, não é global para o cluster. A minha dúvida é como consigo mensurar o uso da work_mem para saber se está super/sub dimensionada? Tem alguma view para isto? Uma forma simples de saber isso é criar uma tablespace temporário numa partição específica e monitorar o uso da partição. Sempre que uma operação for utilizar mais que o disponível em work_men, a sessão irá utilizar o disco, na partição especificada. Se você tiver muito I/O nesta partição, então poderá se beneficiar do aumento do WORK_MEM. Você também pode setar este parâmetro por sessão/usuário/base. Então, se você tem operações muito específicas que vão fazer um SORT muito grande, pode ajustar este parâmetro apenas neste momento e deixar o restante com o valor padrão. Uma forma de fazer um ajuste grosso neste parâmetro é verificar a quantidade de memória disponível logo após a inicialização do Postgres (após a alocação dos SHARED_BUFFERs) mas sem conexões ativas. Pegue o total de memória disponível e divida pelo número máximo de conexões em MAX_CONNECTIONS. Deste valor, pegue apenas uma fração, como 1/3 disso. EX: Memória total = 16GB. Após subir o PostgreSQL a memória livre é de 4GB. Se o seu MAX_CONNECTIONS estiver em 100, teremos: 4G/100 = 40MB. Você poderia utilizar com segurança algo entre 10MB e 20MB. abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente, Fábio Telles Rodriguez blog: http://www.midstorm.org/~telles/ e-mail / gtalk / MSN: fabio.tel...@gmail.com Skype: fabio_telles ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Reset statio
Pessoal, num ambiente com post 8.4 executei o pg_stat_reset(), os dados vistos em pg_stat_all_tables (por exemplo) ficaram zerados conforme o esperado, porém dados da pg_statio_... ainda permanecem, tem uma forma de zerá-los? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Ultimo reset das estatísticas
Olá Pessoal, existe alguma informação no banco da data/hora da última vez que as estatísticas foram resetadas? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Erro em bloco
Olá Sebastian, sim, tentei com o pg_dump e o objeto é a tabela tabmov. sds Fábio Gibon - Original Message - From: Sebastian SWC sebastian...@gmail.com To: Fábio Gibon - Comex System gi...@comexsystem.com.br; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Thursday, March 24, 2011 9:29 AM Subject: Re: [pgbr-geral] Erro em bloco 2011/3/22 Fábio Gibon - Comex System gi...@comexsystem.com.br: Pessoal, alguma alternativa além de retornar o último backup para este caso? ao tentar fazer qualquer operação (select, insert,...) na tabmov ocorre o erro abaixo: ERRO: cabeçalho de página é inválido no bloco 364848 da relação tabmov Você tentou fazer um backup com o pg_dump? qual é objeto que ocorre o erro? -- Atenciosamente, Sebastian Selau Webber Colombo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Erro em bloco
Pessoal, alguma alternativa além de retornar o último backup para este caso? ao tentar fazer qualquer operação (select, insert,...) na tabmov ocorre o erro abaixo: ERRO: cabeçalho de página é inválido no bloco 364848 da relação tabmov abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dados do SO
Olá Alcione, isto faz parte de um projeto de monitoramento do cluster, além de dados do banco também vamos adicionar dados do SO/Servidor. sds Fábio Gibon - Original Message - From: Alcione Benacchio To: Comunidade PostgreSQL Brasileira Sent: Thursday, March 10, 2011 4:32 PM Subject: Re: [pgbr-geral] Dados do SO Olá Fábio, Por curiosidade... porque você quer coletar essas informações do SO? Att. Benacchio Em 10 de março de 2011 08:41, Fábio Telles Rodriguez fabio.tel...@gmail.com escreveu: Eu utilizaria PL/Phyton, PL/PHP, PL/Perl, ou PL/a_linguagem_que_você_mais_gosta, no modo UNTRUSTED, o que lhe garantirá acesso ao SO, sem ter de criar uma aplicação fora do banco. Só tem de tomar cuidado com as permissões no acesso à linguagem e as funções que você criar. Meus 2 centavos. Em 9 de março de 2011 18:57, Sebastian SWC sebastian...@gmail.com escreveu: 2011/3/4 Filipe Rosset rosset.fil...@gmail.com: corte Outra idéia é fazer algo em Python + Psycopg (ambos rodam em Windows também). Aí verificando qual o sistema operacional está sendo executado, você pode utilizar os métodos adequados para extrair os dados e gravar no Postgres. Considerando a idéia de que o python irá retornar os dados do ambiente independente do sistema operacional, essa é solução mais elegante. -- Atenciosamente, Sebastian Selau Webber Colombo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente, Fábio Telles Rodriguez blog: http://www.midstorm.org/~telles/ e-mail / gtalk / MSN: fabio.tel...@gmail.com Skype: fabio_telles ___ 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
Re: [pgbr-geral] Dados do SO
Obrigado pela dica... sds Fábio Gibon - Original Message - From: Roberto Mello roberto.me...@gmail.com To: Fábio Gibon - Comex System gi...@comexsystem.com.br; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Thursday, March 10, 2011 5:46 PM Subject: Re: [pgbr-geral] Dados do SO 2011/3/10 Fábio Gibon - Comex System gi...@comexsystem.com.br: Olá Alcione, isto faz parte de um projeto de monitoramento do cluster, além de dados do banco também vamos adicionar dados do SO/Servidor. Já existe uma dezena (ou mais) de projetos que fazem exatamente isso, inclusive para clusters e HPC. Meu mestrado foi em computação distribuída, então já trabalhei muito com essas ferramentas de monitoramento. A Universidade da California, Berkeley, tem uma série de projetos relacionados a clusters. A chance deles já terem pensado, repensado, e implementado algo que vai te atender é muito grande. Se precisa que esteja num banco de dados, seia mais fácil pegar os dados do agente (geralmente tem um pequeno programa agente em cada máquina) e colocar no DB. Verifique se nenhum deles atende suas necessidades antes de reinventar a roda. 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] Dados do SO
Olá Fernando, é que preciso coletar dados como ram disponível e usada, dados de processador, espaço em disco, etc... e isto precisa ser feito em servidores linux e windows, então não queria ter que desenvolver duas ferramentas para isto, entendeu? sds Fábio Gibon - Original Message - From: Fernando Brombatti To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Friday, March 04, 2011 8:57 AM Subject: Re: [pgbr-geral] Dados do SO Quais teus objetivos propriamente com tais informações via DB e não via SO ? 2011/2/2 Fábio Gibon - Comex System gi...@comexsystem.com.br Pessoal, preciso coletar dados do SO (linux ou windows) onde o banco está instalado (versão 8.4 ou superior), então para evitar de rodar comando direto no SO, gerar arquivos com o resultado e ler estes, eu gostaria de fazer isto via banco. Qual seria o caminho? (criar funções em alguma linguagem diferente do pgplsql?) Ah, alguns exemplos de informações que preciso coletar (tamanho de um disco/partição, espaço livre neste, total de ram e % usado no momento, % de uso do processar,...) Qualquer dica é muito bem-vinda! abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Fernando Brombatti email-msn-gtalk-skype: bromba...@gmail.com work: +55 54 3218-6060 home: +55 54 3028-7217 mobile: +55 54 9189-7970 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dúvida pg_hba.conf
Euler, pode até ser mesmo, porque na verdade apenas me relataram isto, eu não acompanhei. abraços Fábio Henrique Gibon - Original Message - From: Euler Taveira de Oliveira eu...@timbira.com To: pgbr-geral@listas.postgresql.org.br Sent: Tuesday, February 22, 2011 4:20 PM Subject: Re: [pgbr-geral] Dúvida pg_hba.conf Em 22-02-2011 09:08, Fábio Gibon - Comex System escreveu: Eu também entendia que não, mas o banco estava na rede 192.168.0.X e as máquinas da rede 192.168.1.X não conseguiam conectar usando a segunda opção que listei (com máscara), então alteramos para a primeira opção (com /16) e funcionou! Talvez não tenham executado o 'pg_ctl reload' após a alteração do pg_hba.conf? Ou alguma outra regra que combina com os parâmetros antes de tal regra? -- 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 mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dúvida pg_hba.conf
Eu também entendia que não, mas o banco estava na rede 192.168.0.X e as máquinas da rede 192.168.1.X não conseguiam conectar usando a segunda opção que listei (com máscara), então alteramos para a primeira opção (com /16) e funcionou! abraços Fábio Henrique Gibon - Original Message - From: Sebastian SWC sebastian...@gmail.com To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Tuesday, February 22, 2011 8:16 AM Subject: Re: [pgbr-geral] Dúvida pg_hba.conf 2011/2/21 Fábio Gibon - Comex System gi...@comexsystem.com.br: Existe diferença no resultado das linhas abaixo no pg_hba.conf? host all all 192.168.0.0/16 trust host all all 192.168.0.0 255.255.0.0 trust Segundo o manual[1], não. [1] http://www.postgresql.org/docs/9.0/static/auth-pg-hba-conf.html -- Atenciosamente, Sebastian Selau Webber Colombo ___ 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] Dúvida pg_hba.conf
Existe diferença no resultado das linhas abaixo no pg_hba.conf? host allall 192.168.0.0/16 trust host allall 192.168.0.0 255.255.0.0 trust abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Dúvida sobre order by
Hoje me deparei com uma situação que nunca tinha visto antes. Estava executando um comando SELECT numa tabela com uma cláusula ORDER BY em uma coluna do tipo CHARACTER (128). Existem 10 registros na tabela, onde os valores da coluna do ORDER BY são: “ 1” “ 2” “ 3” “ 4” “ 5” “ 6” “ 7” “ 8” “ 9” “10” Ao executar o comando aqui na empresa no postgres 9.0 me retorna os registros nesta mesma ordem. Mas ao executar o comando no cliente retorna numa ordem diferente: “ 1” “10” “ 2” “ 3” “ 4” “ 5” “ 6” “ 7” “ 8” “ 9” Alguma idéia do porque isso pode estar acontecendo? Os dados das 2 tabelas são absolutamente iguais, assim como o comando SQL. Os 2 bancos utilizam codificação UTF8. Nosso banco está no windows e o do cliente no linux. No windows tanto o show lc_collate como o show lc_ctype retornam “Portuguese, Brazil”. No cliente(linux) retornam pt_BR.UTF-8. abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Re Dúvida sobre order by
Leonardo Cezar e Marcelo Silva Acho que não me expressei corretamente então, a questão não é tão óbvia, pois o mesmo Select retorna ordem diferente, entre o banco no windows e no linux, eu entendo que a forma lógica e correta é retornar ordenando como string (1,10,2...), mas porque no windows retorna como se fossem numéricos (sem eu usar qualquer indicativo de conversão)? sds Fábio Gibon - Original Message - From: Leonardo Cezar lhce...@gmail.com To: Fábio Gibon - Comex System gi...@comexsystem.com.br; Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Monday, February 07, 2011 11:18 AM Subject: Re: [pgbr-geral] Dúvida sobre order by 2011/2/7 Fábio Gibon - Comex System gi...@comexsystem.com.br: Hoje me deparei com uma situação que nunca tinha visto antes. Estava executando um comando SELECT numa tabela com uma cláusula ORDER BY em uma coluna do tipo CHARACTER (128). Existem 10 registros na tabela, onde os valores da coluna do ORDER BY são: “ 1” “ 2” “ 3” “ 4” “ 5” “ 6” “ 7” “ 8” “ 9” “ 10” Ao executar o comando aqui na empresa no postgres 9.0 me retorna os registros nesta mesma ordem. Mas ao executar o comando no cliente retorna numa ordem diferente: “ 1” “ 10” “ 2” corte Alguma idéia do porque isso pode estar acontecendo? Está acontecendo o q vc pediu: ordene as *strings* de acordo com a ordem e o seu COLLATE, especificamente a glibc ordena desta forma, veja: skynet:~ postgres$ cat arquivo_numerado | sort 1 10 2 3 Se quer ordenar números, então deixe claro q está tratando com números: SELECT numeros FROM tabela ORDER BY numeros::integer; Abraço! -Leo -- Leonardo Cezar http://postgreslogia.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Erro no pg_restore (8.4 to 9.0)
Pessoal, gerei um dump do postgresql 8.4 e estou tentando importar no 9.0. (Linux em ambos) Durante a carga ocorre o erro abaixo: pg_restore: [archiver (db)] Error while PROCESSING TOC: pg_restore: [archiver (db)] Error from TOC entry 5065; 0 17480 TABLE DATA logmov usrteste pg_restore: [archiver (db)] COPY failed: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. pg_restore: [archiver (db)] could not commit database transaction: no connection to the server Command was: COMMIT Alguma dica do que pode estar causando isto? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Dados do SO
Pessoal, preciso coletar dados do SO (linux ou windows) onde o banco está instalado (versão 8.4 ou superior), então para evitar de rodar comando direto no SO, gerar arquivos com o resultado e ler estes, eu gostaria de fazer isto via banco. Qual seria o caminho? (criar funções em alguma linguagem diferente do pgplsql?) Ah, alguns exemplos de informações que preciso coletar (tamanho de um disco/partição, espaço livre neste, total de ram e % usado no momento, % de uso do processar,...) Qualquer dica é muito bem-vinda! abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Delete é muito lento
Sérgio, se você quer deletar de 30 em 30mil, então o limit está no local incorreto. Este seu comando não é o mesmo que: DELETE FROM Esquema.TABELA1 WHERE CAMPO1 = 'D_E_L' // no máximo com um and campo2 is not null) ??? sds Fábio Gibon - Original Message - From: sergio santos To: pgbr-geral@listas.postgresql.org.br Sent: Thursday, January 27, 2011 1:32 PM Subject: [pgbr-geral] Delete é muito lento Pessoal Estive procurando pela lista sobre Delete muito lento e encontrei um artigo do Fábio Telles Rodriguez em: http://www.midstorm.org/~telles/2007/11/29/nao-use-delete-use-insert/ Também vi que já aconteceu uma grande discussão sobre este assunto em: http://www.mail-archive.com/pgbr-geral@listas.postgresql.org.br/msg04746.html No entanto, depois de ler tudo isso, não consegui fazer com que o meu comando DELETE FROM Esquema.TABELA1 WHERE CAMPO2 IN( SELECT CAMPO2 from Esquema.TABELA1 WHERE CAMPO1 = 'D_E_L' LIMIT 3 ); se torne viável. A consulta se refere a uma tabela de 1.352.996 registros e pelo menos 6 FOREIGN KEY. Não posso simplesmente dar um TRUNCATE na TABELA1 uma vez que é uma tabela em produção. Não posso também deletar as FOREIGN KEY e depois habilitá-las novamente, pois acho isso muito arriscado, a tabela é muito importante aqui na empresa. Alguém tem alguma dica de como melhorar a performance em um DELETE ? O Query Plan segue abaixo Nested Loop (cost=54559.52..55425.84 rows=200 width=6) - HashAggregate (cost=54559.52..54561.52 rows=200 width=4) - Limit (cost=0.00..54184.52 rows=3 width=4) - Seq Scan on TABELA1 (cost=0.00..69348.96 rows=38396 width=4) Filter: ((CAMPO1)::text = 'D_E_L'::text) - Index Scan using pedido_pkey on pedido (cost=0.00..4.31 rows=1 width=10) Index Cond: (Esquema.TABELA1.CAMPO2 = Esquema.TABELA1.CAMPO2) Obrigado Sérgio Antônio dos Santos Bacharel em Sistemas de Informação Cel: (31) 8601-5207 Residencia: (31) 3885-2346 site: http://www.clientside.com.br Twitter: @serginhosant Linkedin: http://br.linkedin.com/in/serginhosant Delicious: http://www.delicious.com/serginhosant Fotos: http://picasaweb.google.com/sergio.serginhosant --- “Rogo a Deus como se esperasse tudo d’Ele, mas trabalho como se esperasse tudo de mim” S.Tomás de Aquino -- ___ 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] Configurar terminais
Olá Alexandre, qual o SO dos terminais? E que forma de acesso utiliza sua aplicação (odbc, jdbc, ...)? sds Fábio Gibon - Original Message - From: Alexandre S Gondim To: Fábio Gibon - Comex Syste ; Comunidade PostgreSQL Brasileira Sent: Thursday, January 27, 2011 4:46 PM Subject: Re: Re: [pgbr-geral] Configurar terminais Qual a configuração que tenho que fazer nos terminais para acessar o sistema e a base de dados ? Obrigado desde já. Alexandre S Gondim Original Message From: Fábio Gibon - Comex System gi...@comexsystem.com.br To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Qua, Jan 26, 2011, 21:00 PM Subject: Re: [pgbr-geral] Configurar terminais E qual é a pergunta? sds Fábio Gibon - Original Message - From: Alexandre S Gondim To: pgbr-geral@listas.postgresql.org.br Sent: Wednesday, January 26, 2011 3:11 PM Subject: [pgbr-geral] Configurar terminais Pessoal, Desculpe a pergunta básica,mas sou novo no postgre. enho usado o Firebird em meus sistemas. Comparando os dois percebi que o Postgre é muito mais rápido. No entanto não o que precisa ser instalado em cada estação que vai acessar o sistema com a base em Postgre. Desde já agradeço. Abraços Alexandre -- ___ 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] Configurar terminais
E qual é a pergunta? sds Fábio Gibon - Original Message - From: Alexandre S Gondim To: pgbr-geral@listas.postgresql.org.br Sent: Wednesday, January 26, 2011 3:11 PM Subject: [pgbr-geral] Configurar terminais Pessoal, Desculpe a pergunta básica,mas sou novo no postgre. enho usado o Firebird em meus sistemas. Comparando os dois percebi que o Postgre é muito mais rápido. No entanto não o que precisa ser instalado em cada estação que vai acessar o sistema com a base em Postgre. Desde já agradeço. Abraços Alexandre -- ___ 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] pg_resetxlog
Pessoal, alguém tem alguma outra consideração sobre este cenário? Desde já muito obrigado! Fábio Gibon - Original Message - From: Fábio Gibon - Comex System To: PostgreSQL - BR List Sent: Thursday, January 06, 2011 8:10 AM Subject: [pgbr-geral] pg_resetxlog Srs, vejam este cenário e, por favor, me digam se tem uma outra solução além da que foi aplicada: - postgresql 8.2 - windows server - banco sem archive - dump feito as 12h - as 14h ao iniciar um autovacuum ocorreu um erro e o banco caiu - servidor foi religado e o banco voltou - ao tentar conectar o usuário recebia mensagem que o banco estava startando (nos logs mostrava que estava fazendo o processo de recovery) - usuário reset server bruscamente - ao reiniciar o server o postgresql não inicializa - vendo os logs identificamos que arquivos xlog haviam sido corrompidos - foi tentado um pg_resetxlog sem passar parâmetros (o comando não conseguiu executar e informou que uma alternativa seria o -f) - antes de executar o pg_resetxlog com -f este foi executado com -n e salvo o resultado em um .txt (dados do arquivo de controle) - então foi executado com o -f - o postgresql inicializou e o banco voltou... - porém os dados estavam mais antigos do que os do .dump das 12h Havia uma outra forma de recuperação sem perda de dados (ou com menos perda)? abraços Fábio Henrique Gibon -- ___ 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] pg_resetxlog
Srs, vejam este cenário e, por favor, me digam se tem uma outra solução além da que foi aplicada: - postgresql 8.2 - windows server - banco sem archive - dump feito as 12h - as 14h ao iniciar um autovacuum ocorreu um erro e o banco caiu - servidor foi religado e o banco voltou - ao tentar conectar o usuário recebia mensagem que o banco estava startando (nos logs mostrava que estava fazendo o processo de recovery) - usuário reset server bruscamente - ao reiniciar o server o postgresql não inicializa - vendo os logs identificamos que arquivos xlog haviam sido corrompidos - foi tentado um pg_resetxlog sem passar parâmetros (o comando não conseguiu executar e informou que uma alternativa seria o -f) - antes de executar o pg_resetxlog com -f este foi executado com -n e salvo o resultado em um .txt (dados do arquivo de controle) - então foi executado com o -f - o postgresql inicializou e o banco voltou... - porém os dados estavam mais antigos do que os do .dump das 12h Havia uma outra forma de recuperação sem perda de dados (ou com menos perda)? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Atualizar todos os valores de uma linha, a partir de um resultado de um SELECT da mesma tabela
Gabriel, algo meio de urgência, sem pensar muito em performance e no escuro seria assim: update suatabela set nome = (select nome from suatabela where codcliente = 1), endereco = (select endereco from suatabela where codcliente = 1) where codcliente = 2; sds Fábio Gibon - Original Message - From: GABRIEL DOS SANTOS To: Comunidade PostgreSQL Sent: Sunday, December 12, 2010 11:52 PM Subject: [pgbr-geral] Atualizar todos os valores de uma linha, a partir de um resultado de um SELECT da mesma tabela Bom dia pessoal, Gostaria de saber como atualizar todos os valores de uma linha, a apartir de um resultado de um SELECT da mesma tabela. Por exemplo codcliente | nome| endereco --- 1 GABRIELAV.BRASIL 3 PAULA RUA 98 Como dar um SELECT no registro do cliente Gabriel e atualizar o da cliente Paula para GABRIEL e o endereco do AV.BRASIL do Gabriel no lugar de RUA 98 para Paula. E isto para mais colunas. Att. Vlw, galera. Gabriel dos Santos. -- ___ 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] Erro em pg_toast
Pessoal, ao tentar fazer um select em uma tabela recebo o erro abaixo: ERRO: não pôde abrir segmento 1 da relação 1663/3736543/3737828 (bloco alvo 2949120): Arquivo ou diretório não encontrado Ao consultar na pg_class noto que o objeto é um pg_toast_3737823_index. Há também o pg_toast_3737823 e meu objeto com id 3737823 é uma tabela do nosso sistema. O banco e SO são: PostgreSQL 8.3.11 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2 Qual a solução neste caso? Apenas reindexar? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Erro em pg_toast
Valeu Fabrízio, o Reindex resolveu! sds Fábio Gibon - Original Message - From: Fabrízio de Royes Mello To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Friday, December 10, 2010 4:39 PM Subject: Re: [pgbr-geral] Erro em pg_toast Em 10 de dezembro de 2010 17:16, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, ao tentar fazer um select em uma tabela recebo o erro abaixo: ERRO: não pôde abrir segmento 1 da relação 1663/3736543/3737828 (bloco alvo 2949120): Arquivo ou diretório não encontrado Ao consultar na pg_class noto que o objeto é um pg_toast_3737823_index. Há também o pg_toast_3737823 e meu objeto com id 3737823 é uma tabela do nosso sistema. O banco e SO são: PostgreSQL 8.3.11 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2 Qual a solução neste caso? Apenas reindexar? Fábio, A principio um REINDEX resolverá o seu problema... mas precisas averiguar o que pode estar removendo arquivos equivocadamente do teu cluster. -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Valor Default - Date
dataatual date default current_date, horaatual time with time zone default current_time, datahoraatual timestamp default now() sds Fábio Gibon - Original Message - From: Marcelo Silva To: Comunidade PostgreSQL Brasileira Sent: Thursday, December 02, 2010 8:03 AM Subject: [pgbr-geral] Valor Default - Date Pessoal tenho o seguinte campo f01_cadastro date NOT NULL DEFAULT '2010-12-02'::date, Eu coloquei como default 'NOW' e ele mudou pra data de hoje. Minha intenção é que o valor Dafault seja a data em que o registro estiver sendo inserido. Já aproveitando o gancho, também queria saber como colocar o valor Hora por Default também. Ex. Create Table teste) campo_data date default 'now', campo_hora time... default 'now' ) Existe isso ou terei que criar um trigger? Marcelo Silva msn: marc...@ig.com.br Tel.: (11) 2962-7390 Cel.: (11) 9693-4251 Programador: Delphi, PHP Linux Kubuntu User number is # 24362 -- ___ 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] Bancos sincronizados
Olá pessoal, há alguma ferramenta que possibilite eu ter vários bancos (todos read-write) sendo sincronizados (em pequenos intervalos de tempo - 5 minutos, por exemplo)? Ou seja, se pararmos as operações por 5 minutos todos os bancos ficarão iguais (mesmos dados). Existe alguma magic tool para isto? Ah, podem considerar versão 9.0 do banco e qualquer SO (se tiver para algum migraremos). abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Bancos sincronizados
Matheus, obrigado pela resposta...mas estes vários podem ser vários mesmo...3, 4...10. sds Fábio Gibon - Original Message - From: Matheus Ricardo Espanhol To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Thursday, November 18, 2010 4:59 PM Subject: Re: [pgbr-geral] Bancos sincronizados Boa tarde, Se esse vários bancos puder ser alterado para 2 bancos, você tem um opção livre: Bucardo: http://bucardo.org Em 18 de novembro de 2010 18:50, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Olá pessoal, há alguma ferramenta que possibilite eu ter vários bancos (todos read-write) sendo sincronizados (em pequenos intervalos de tempo - 5 minutos, por exemplo)? Ou seja, se pararmos as operações por 5 minutos todos os bancos ficarão iguais (mesmos dados). Existe alguma magic tool para isto? Ah, podem considerar versão 9.0 do banco e qualquer SO (se tiver para algum migraremos). abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Matheus Ricardo Espanhol --- Dextra Sistemas http://www.dextra.com.br/postgres/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Bancos sincronizados
Olá Júlio, é com você que consigo obter uma idéia de valor para ver se é viável financeiramente? sds Fábio Gibon - Original Message - From: Júlio - dbExperts To: Fábio Gibon - Comex System ; Comunidade PostgreSQL Brasileira Sent: Thursday, November 18, 2010 4:56 PM Subject: Re: [pgbr-geral] Bancos sincronizados Existe. É comercial. http://www.dbexperts.com.br/replicacao []s - Original Message - From: Fábio Gibon - Comex System To: PostgreSQL - BR List Sent: Thursday, November 18, 2010 6:50 PM Subject: [pgbr-geral] Bancos sincronizados Olá pessoal, há alguma ferramenta que possibilite eu ter vários bancos (todos read-write) sendo sincronizados (em pequenos intervalos de tempo - 5 minutos, por exemplo)? Ou seja, se pararmos as operações por 5 minutos todos os bancos ficarão iguais (mesmos dados). Existe alguma magic tool para isto? Ah, podem considerar versão 9.0 do banco e qualquer SO (se tiver para algum migraremos). abraços Fábio Henrique Gibon ___ 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] Digest pgbr-geral, volume 22, assunto 65
Emerson, tem um ; antes do primeiro LOOP (...and NOT attisdropped;)... este é o erro de compilação. Depois disto tens que ter cuidado com comparação de valores NULL. sds Fábio Gibon - Original Message - From: Emerson Martins To: pgbr-geral@listas.postgresql.org.br Sent: Friday, October 29, 2010 10:57 AM Subject: Re: [pgbr-geral] Digest pgbr-geral, volume 22, assunto 65 Caros colegas vou postar aqui a minha o meu esquema como estou fazendo se alguem puder ajudar..(Estar com erros)! a tabela CREATE TABLE AUDITORIA ( codigo serial NOT NULL, tipo CHAR(1), data TIMESTAMP, usuario VARCHAR(20), tabela VARCHAR(30), campo VARCHAR(30), pid VARCHAR(30), transacao varchar(30) ) a função: CREATE OR REPLACE FUNCTION AUDITORIA () RETURNS TRIGGER AS ' DECLARE consulta varchar; data timestamp; tipo varchar; cols record; usuario varchar; id integer; pid integer; columna varchar; transacao varchar; BEGIN -- data select into data current_timestamp(0); -- ip select into usuario inet_client_addr(); -- pid select into pid pg_backend_pid(); -- transacao select into transacao txid_current(); IF TG_OP = ''INSERT'' THEN tipo:=''I''; select into id new.oid; END IF; IF TG_OP = ''UPDATE'' THEN tipo:=''U''; select into id old.oid; END IF; -- Loop FOR cols IN select attname as nome, attnum as numero frompg_attribute where attrelid = TG_RELID and attnum 0 and NOT attisdropped; LOOP IF NEW. || cols.nome || OLD. || cols.nome || THEN INSERT INTO auditoria (TIPO,DATA,USUARIO,TABELA,CAMPO,NOME1,NOME2,NOME3,PID,TRANSACAO) values (tipo,data,usuario,TG_RELNAME,id,cols.nome,cols.nome,cols.nome,pid,transacao); END IF; END LOOP; RETURN NEW; END; ' LANGUAGE plpgsql; -- CREATE TRIGGER AUDITAR_TABELA1 -- AFTER INSERT OR UPDATE OR DELETE ON TABELA1 --FOR EACH ROW EXECUTE PROCEDURE AUDITORIA(); Alguem pode identificar. o Erro ta no loop ERROR: missing LOOP at end of SQL expression CONTEXTO: compilation of PL/pgSQL function auditoria near line 28 Em 29 de outubro de 2010 12:00, 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. Failover no Windows (Norberto Delle) 2. Re: Failover no Windows (JotaComm) 3. Re: Failover no Windows (Norberto Delle) -- Message: 1 Date: Fri, 29 Oct 2010 10:49:21 -0200 From: Norberto Delle betode...@gmail.com Subject: [pgbr-geral] Failover no Windows To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: 4ccac2d1.7080...@gmail.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed Bom dia pessoal Eu configurei um servidor warm standby do PostgreSQL 9 no Windows 2008 R2 e estou testando o processos de failover. Quando crio o arquivo de trigger no local especificado no parâmetro 'trigger_file' do recovery.conf nada acontece. Alguém tem alguma idéia do que pode estar errado? Obrigado Norberto -- Message: 2 Date: Fri, 29 Oct 2010 11:04:51 -0200 From: JotaComm jota.c...@gmail.com Subject: Re: [pgbr-geral] Failover no Windows To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: aanlkti=qyd3swswq7rewnr0vym5tteyx4+jvb99bf...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 Olá, Em 29 de outubro de 2010 10:49, Norberto Delle betode...@gmail.comescreveu: Bom dia pessoal Eu configurei um servidor warm standby do PostgreSQL 9 no Windows 2008 R2 e estou testando o processos de failover. Quando crio o arquivo de trigger no local especificado no parâmetro 'trigger_file' do recovery.conf nada acontece. Alguém tem alguma idéia do que pode estar errado? Como você fez a
Re: [pgbr-geral] Numero de linha de uma tabela
Você não citou qual a versão do banco, mas uma alternativa que pode substituir o rownum (do Oracle) é: create temp sequence rownum; select nextval('rownum'), t.* from suatabela t; drop sequence rownum; sds Fábio Gibon - Original Message - From: Benedito A. Cruz b...@cria.org.br To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Friday, October 29, 2010 11:22 AM Subject: [pgbr-geral] Numero de linha de uma tabela Uma curiosidade minha: é possível, numa consulta, formatar a saída de forma que as linhas da tabela de saída venham numeradas? Por exemplo: fazendo uma consulta select Nome from clientes, a saída é uma tabela com uma coluna Nome. A curiosidade é se é possível criar um select que devolva uma tabela com duas colunas, algo assim: |Numero|Nome| |1 |Jão | |2 |Zé | |3 |Tião| []s Bene -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ___ 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] Numero de linha de uma tabela
E ainda... se for na versão 9.0 tem: select row_number() over (), t.* from suatabela t; Neste caso tem que ter cuidado com o uso da cláusula ordem by... se for usá-la deve ser feito em uma subquery e o row_number() na query principal. sds Fábio Gibon - Original Message - From: Benedito A. Cruz b...@cria.org.br To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Sent: Friday, October 29, 2010 11:22 AM Subject: [pgbr-geral] Numero de linha de uma tabela Uma curiosidade minha: é possível, numa consulta, formatar a saída de forma que as linhas da tabela de saída venham numeradas? Por exemplo: fazendo uma consulta select Nome from clientes, a saída é uma tabela com uma coluna Nome. A curiosidade é se é possível criar um select que devolva uma tabela com duas colunas, algo assim: |Numero|Nome| |1 |Jão | |2 |Zé | |3 |Tião| []s Bene -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ___ 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] Numero de linha de uma tabela
Fabrízio, obrigado pela correção. sds Fábio Gibon - Original Message - From: Fabrízio de Royes Mello To: Comunidade PostgreSQL Brasileira Sent: Friday, October 29, 2010 12:21 PM Subject: Re: [pgbr-geral] Numero de linha de uma tabela Em 29 de outubro de 2010 14:06, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: E ainda... se for na versão 9.0 tem: select row_number() over (), t.* from suatabela t; Neste caso tem que ter cuidado com o uso da cláusula ordem by... se for usá-la deve ser feito em uma subquery e o row_number() na query principal. Na verdade esse recurso está disponível desde a versão 8.4 -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello -- ___ 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] REF. MONTAR SELECT.
Paulo, monte como você acredita que deve ser e a gente te ajuda a aparar as arestas, mas se entendi o teu problema é que precisas fazer outer join, pois podem haver dependentes sem plano, é isto? E ainda, não vejo o relacionamento com a tabela PLANO, não está faltando algum campo em Cliente ou uma outra tabela? abraços Fábio Henrique Gibon - Original Message - From: VisualP Sistemas To: Comunidade PostgreSQL Brasileira Sent: Friday, October 29, 2010 2:31 PM Subject: [pgbr-geral] REF. MONTAR SELECT. Ola pessoal, Preciso montar um Select e estou colocando os neuronios pra funcionar, tenho o seguinte: TABELAS RELACIONADAS: Cliente,Dependente,Plano Tabela CLIENTE IDCLI NOME 1JUCA BALA 2MILA TULA 3PAULO TARSO Tabela DEPENDENTE ID IDCLI NOME PARENTESCO 11Juquinha Filho(a) 21Mariazinha Filho(a) 32MilinhaFilho(a) 42RitinhaFilho(a) 42FofinhaFilho(a) 53Paulinho Filho(a) Tabela PLANO ID PLANO QTDE_DEPENDENTE VALOR 1 PLANO A 1 4,90 2 PLANO B 2 9,90 3 PLANO C 3 14,90 PRECISO MONTAR UM SELECT COM RETORNO: CLIENTEDEPENDENTEVALOR JUCA JuquinhaFilho(a) 9,90 JUCA Mariazinha Filho(a) 9,90 - PLANO A MILA TULA Milinha Filho(a) 14,90 MILA TULA Ritinha Filho(a) 14,90 MILA TULA Fofinha Filho(a) 14,90 - PLANO B PAULOPaulinhoFilho(a)4,90 - PLANO C ALGUEM PODE DAR UMA DICA DE COMO MONTAR ESTE SELECT. 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 ___ 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 -
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
Re: [pgbr-geral] Cast de atributo
Fabrízio, muito obrigado mesmo pelo retorno. Com este exemplo já tenho um novo caminho a tentar... No exemplo o que me preocupa é o paralelismo, visto que para cada ação é dropada e criada uma tabela com o nome fixo, mas blz... me ajudou e muito!!! sds Fábio Gibon - Original Message - From: Fabrízio de Royes Mello To: Comunidade PostgreSQL Brasileira Sent: Monday, October 25, 2010 9:23 PM Subject: Re: [pgbr-geral] Cast de atributo Em 25 de outubro de 2010 22:46, Fábio Gibon - Comex System gi...@comexsystem.com.br escreveu: Pessoal, preciso montar uma trigger que vai comparar se o conteúdo antigo de um campo que foi alterado é diferente do novo. Algo tipo: if new.campox old.campox then ... Porém preciso fazer isto para cada campo dinamicamente, recuperar o nome dos campos em cursor eu já fiz, porém como fazer algo do tipo: if new.registro.campo old.registro.campo then ... Veja se o anexo te ajuda. -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello -- ___ 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] Cast de atributo
Pessoal, preciso montar uma trigger que vai comparar se o conteúdo antigo de um campo que foi alterado é diferente do novo. Algo tipo: if new.campox old.campox then ... Porém preciso fazer isto para cada campo dinamicamente, recuperar o nome dos campos em cursor eu já fiz, porém como fazer algo do tipo: if new.registro.campo old.registro.campo then ... ??? Alguma idéia??? abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Salvar resultado do pg_dump
Pessoal, em windows, como faço para salvar o resultado do pg_dump utilizando a opção -v (verbose)? Já tentei com algo do tipo pg_dump ... arquivo.log mas não funcionou. abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Post 9.0 x Windows em prod
Olá pessoal, alguém já está utilizando a versão 9.0 no Windows em Prod? abraços Fábio Henrique Gibon ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Recursividade...
Emanuel, veje se isto te atende... postgres=# create table tabover postgres-# (id varchar(10), postgres(# a numeric(10,2)); CREATE TABLE postgres=# insert into tabover values ('cliente1',2310.82) , ('cliente2',1366.56 ) , ('cliente3',785.05); INSERT 0 3 postgres=# select id, a, sum(a) over (order by id) postgres-# from tabover; id|a| sum --+-+- cliente1 | 2310.82 | 2310.82 cliente2 | 1366.56 | 3677.38 cliente3 | 785.05 | 4462.43 (3 registros) sds Fábio Gibon - Original Message - From: Emanuel Araújo eac...@gmail.com To: pgbr-geral@listas.postgresql.org.br Sent: Monday, October 11, 2010 12:07 PM Subject: [pgbr-geral] Recursividade... Srs. Preciso da seguinte ajuda. Tenho uma tabela com os dados abaixo e preciso fazer um somatório (curvaABC) no campo b, sempre ele mesmo + o próximo campo a id |a|b ---+-+- cliente1 | 2310.82 | 2310.82 cliente2 | 1366.56 | 1366.56 cliente3 | 785.05 | 785.05 cliente4 | 707.65 | 707.65 cliente5 | 691.38 | 691.38 cliente6 | 484.63 | 484.63 cliente7 | 401.27 | 401.27 cliente8 | 387.51 | 387.51 cliente9 | 363.00 | 363.00 cliente10 | 282.34 | 282.34 cliente11 | 256.26 | 256.26 cliente12 | 238.68 | 238.68 cliente13 | 225.99 | 225.99 cliente14 | 167.20 | 167.20 cliente15 | 123.33 | 123.33 cliente16 | 104.04 | 104.04 cliente17 | 101.37 | 101.37 retornando algo assim: id |a|b + proximo a ---+-+- cliente1 | 2310.82 | 2310.82 cliente2 | 1366.56 | 3677.38 cliente3 | 785.05 | 4462.43 ... Já li a documentação, mas não entendi o uso do WITH RECURSIVE ... Alguém poderia me dar um apoio e/ou me informar onde posso obter um exemplo mais detalhado do USO disso? Agradeço. -- Atenciosamente, Emanuel Araújo http://eacshm.wordpress.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
Re: [pgbr-geral] Pgadmin acessar pela rede
Beto, note que você só está liberando a faixa de IP local da máquina... hostall all 127.0.0.1/32 trust Altere para a faixa de IPs da sua rede... provavelmente 10 ou 192... sds Fábio Gibon - Original Message - From: Beto Lima To: pgbr-geral@listas.postgresql.org.br Sent: Friday, October 08, 2010 12:11 PM Subject: [pgbr-geral] Pgadmin acessar pela rede Pessoal tive que instalar do zero o 8.4 num servidor aqui e quero acessar pela rede com pgadmin. antes tava funcionando, mas tive que formatar e instalar tudo de novo e agora não consigo mais acesso. ja deixei o listen_address como * no postgres.conf meu pg_hba.conf está assim: # Database administrative login by UNIX sockets host all all 0.0.0.0 0.0.0.0 trust # TYPE DATABASEUSERCIDR-ADDRESS METHOD # local is for Unix domain socket connections only local all all trust # IPv4 local connections: hostall all 127.0.0.1/32 trust #hostall all 0.0.0.0/0 trust # IPv6 local connections: hostall all ::1/128 trust hostall all0.0.0.0/0 trust Alguma luz? grato -- ___ 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] Validar dump
PessoALL, existe algum utilitário para ler um .dmp (gerado pelo pg_dump) e listar os objetos (tabelas) existentes neste e o número de registros de cada? E, ainda, validar erros físicos no arquivo? (só isto...rs) Ah, obviamente, sem fazer restore do .dmp. abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Vacuumdb full
Encontrei em um cliente um .bat com o vacuumdb --full no banco de produção... executando diariamente... como sou novato em PostgreSQL gostaria do comentário de vocês sobre esta prática... muito obrigado! abraços Fábio Henrique Gibon___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral