[pgbr-geral] Recuperar Banco
Ola pessoal Tive um problema com um HD que acabou corrompendo o banco e como era de se esperar o usuário não fazia backup a vários dias Tenho um backup antigo e também consegui recuperar as pastas de log do banco que foi perdido. Seria possivel restaurar o backup antigo e em seguida aplicar os logs?? Alguem poderia dar uma ajuda a respeito? Entendo muito pouco do que diz respeito a forma como o postgresql armazena os logs e como utilizá-los. Servidor Windows XP com Postgresql 8.1 As configurações de instação são as padrões do instalador. Obrigado Édson ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] SOCORRO!!!
On Mon, Sep 15, 2008 at 8:50 AM, Brasil Software [EMAIL PROTECTED] wrote: Pessoal meu db continua caindo. MaquinaHP Processado XEON Memoria1GB HD 70GB espelhado SCSI Banco 3 base uma com 3 GB outras 4 GB e a ultima 2 um total 9 GB de BD. Preciso mostrar para meu cliente que esta maquina não esta adquanda. Como faço isto, alguem me ajude por favor. Se possivel passe-me a configuração para esta maquina. Nao sei como eu poderia dizer que a maquina nao e' adequada com tao pouca informacao. O banco esta' caindo por que? Alguma indicacao nos logs? O que voce quer dizer exatamente com o db continua caindo? O postmaster morre? Qual e' a carga que esta' sendo posta no postgres? Quantos usuarios simultaneos? Como esta' o consumo de memoria? de disco? de CPU? durantes periodo de uso maior do postgresql. Ha' uma (ou varias) consultas que estao trazendo performance abaixo? (pode-se logar consultas, e ate' somente aqueles que estao demorando mais que xx milisegundos.) Quais sao as configuracoes de memoria do postgresql (buffers, shared_mem, etc.)? Roberto -- http://blog.divisiblebyfour.org/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Socorro !!!
2008/9/11 Brasil Software [EMAIL PROTECTED]: Pessoal, estou com um grande problema, o meu servidor postgresql (Win2003) está parando constantemente. Depois de uma replicação de dados em dois DBs banco001 para banco002 com DBLink, detalhe: isso aconteceu depois que foi incluido em uma tabela um campo do tipo text. O servidor funciona normalmente durante o dia, mas quando chega no final do dia o mesmo apresenta os seguintes erros: 2008-09-10 18:01:54 LOG: could not receive data from client: Unknown winsock error 10061 2008-09-10 18:01:54 LOG: unexpected EOF on client connection 2008-09-10 18:15:20 LOG: could not receive data from client: Unknown winsock error 10061 2008-09-10 18:15:20 LOG: unexpected EOF on client connection 2008-09-10 21:50:31 ERROR: could not establish connection 2008-09-10 21:50:31 DETAIL: could not connect to server: No buffer space available (0x2747/10055) Is the server running on host 10.10.1.250 and accepting TCP/IP connections on port 5432? 2008-09-10 21:50:31 STATEMENT: SELECT uf.codigo, uf.nome, uf.sigla FROM (estado uf LEFT JOIN (SELECT * FROM DBLINK('dbname=banco001 host=10.10.1.250 user=acesse password=acesse2006 port=5432','SELECT codigo FROM estado') AS tab(codigo Integer)) tmp ON uf.codigo = tmp.codigo) WHERE tmp.codigo IS NULL 2008-09-10 21:50:46 ERROR: could not establish connection 2008-09-10 21:50:46 DETAIL: could not connect to server: No buffer space available (0x2747/10055) Is the server running on host 10.10.1.250 and accepting TCP/IP connections on port 5432? Alguém pode me ajudar ? Mais algumas hipoteses, já que vc oferece poucos detalhes que podem ser relevanes para a solução do seu problema: - Switch desligando, e o windows desativando a configuração TCP/IP dessa maquina. - Maquina configurada para receber IP por DHCP e quando atinge o tempo de lease time, renova o ip (mas imagino que deveria estar configurada para sempre receber o mesmo ip sempre ne?) Como disse, são só hipoteses ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] SOCORRO!!!
Adriano Espinoza de Oliveira wrote: De cara aumente a memória RAM: de inicio 4GB. Mas vc tem que olhar os log´s e configurações atuais para comparar com os logs após acrescentar memória e ir monitorando para ver se 4Gb é o suficiente... isso depende do tipo de uso do banco. Caro, todos os bancos de dados que o usuário possuem não dão somados um total 10 GB e você está dizendo para aumentar a RAM para 4GB??? De onde você tirou esta informação e que tipo de cálculo utilizou para isto? -- Shander Lyrio ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Configuração
Minha configuração esta assim. max_connections = 100 shared_buffers = 32MB work_mem = 1MB Ou seja padrão do postgresql. tenho 50 usuarios conectados; MaquinaHP Processado XEON Memoria1GB HD 70GB espelhado SCSI Banco 3 base uma com 3 GB outras 4 GB e a ultima 2 um total 9 GB de BD. Um detalhe importante: Uso um programa de integração de DB usando dblink. EX: banco001 -- banco002 SELECT hp.codigo, hp.descricao FROM (historico_processo hp LEFT JOIN dblink('dbname=banco035 host=servidor2 user=acesse password=acesse2006 port=5432', 'SELECT codigo FROM historico_processo') As tmp(codigo INTEGER) ON hp.codigo = tmp.codigo) Isto acontece para transferir cadastro. Quando isto acontece a maquina não aceita conexão nem por telnet 127.0.0.1 5432 preciso reiniciar para voltar a funcionar corretamente. Observei tambem que um ou outro terminal continual conectando normalmente. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] SOCORRO!!!
Pessoal meu db continua caindo. MaquinaHP Processado XEON Memoria1GB HD 70GB espelhado SCSI Banco 3 base uma com 3 GB outras 4 GB e a ultima 2 um total 9 GB de BD. Preciso mostrar para meu cliente que esta maquina não esta adquanda. Como faço isto, alguem me ajude por favor. Se possivel passe-me a configuração para esta maquina. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Configuração
Tem um ditado muito bom que ouvi certa vez: em casos como este o tcpdump salva! Minha configuração esta assim. max_connections = 100 shared_buffers = 32MB work_mem = 1MB Ou seja padrão do postgresql. tenho 50 usuarios conectados; MaquinaHP Processado XEON Memoria 1GB HD 70GB espelhado SCSI Banco 3 base uma com 3 GB outras 4 GB e a ultima 2 um total 9 GB de BD. Um detalhe importante: Uso um programa de integração de DB usando dblink. EX: banco001 -- banco002 SELECT hp.codigo, hp.descricao FROM (historico_processo hp LEFT JOIN dblink('dbname=banco035 host=servidor2 user=acesse password=acesse2006 port=5432', 'SELECT codigo FROM historico_processo') As tmp(codigo INTEGER) ON hp.codigo = tmp.codigo) Isto acontece para transferir cadastro. Quando isto acontece a maquina não aceita conexão nem por telnet 127.0.0.1 5432 preciso reiniciar para voltar a funcionar corretamente. Observei tambem que um ou outro terminal continual conectando normalmente. ___ 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] Trigger mirabolante com View: de Oracle para Postgres
Olá, Estou tentando converter um conjunto de triggers/stored procedures de Oracle 9 para Postgres 8.3. Julgo ser necessário dar uma visão geral para dar idéia do tamanho da encrenca: A trigger tem a intenção de atualizar os valores de alguns campos (saldo anterior e data inicial do próximo registro) no registro recém incluído, de forma a deixar o registro incluído com valores coerentes com os registros anteriores e posteriores, segundo um determinado critério de ordenação. Visando proteger a integridade da tabela, é importantíssimo que os usuários e a aplicação não consigam atualizar dados diretamente na tabela sem passar pela trigger. Aliás, acho que o usuário/desenvolvedor ficará ainda mais feliz se nem souber que existe uma trigger que corrige os valores para ele. Devido à natureza recursiva dessa modelagem (eu preciso alterar dados do próprio registro e em alguns casos dar mais de um UPDATE sobre o mesmo registro), o Oracle não me permitia alterar o registro diretamente de dentro da trigger. A solução adotada em Oracle foi a seguinte: * Mover a tabela original para outro schema e protegê-la contra alterações feitas diretamente pelos usuários ou pela aplicação; * Criar uma view com o nome da tabela original; * criar triggers do tipo INSTEAD OF UPDATE or INSERT or DELETE na View; * dar os UPDATEs na tabela de fato ou na view, usando para isso SELECTs na view quando necessário. A solução, apesar de complexa, resolveu o problema em Oracle com ótimo desempenho. Eu tenho uma versão igualmente eficiente para SQL Server, só que preferi não usá-la como referência porque o SQL Server não se importa em fazer alterações repetidas e recursivas sobre o mesmo registro. Falta fazer o mesmo em Postgres... O problema é que eu não consigo achar meios de implementar a mesma funcionalidade: * se eu tento criar triggers com comandos UPDATE/DELETE diretamente sobre a tabela, o Postgres dá aquele erro infame: 'ERROR: record new is not assigned yet'. Suponho que o problema seja similar ao do Oracle. Estou certo? * se eu tento usar a mesma solução adotada no Oracle, não consigo criar a trigger sobre a view. Exemplo: -- tabela original movida para outro schema CREATE TABLE gestao.mvtoestq (.../* mais de 50 campos */ ); -- view que eu gostaria de atualizar pela aplicação create or replace view public.mvtoestq as SELECT * FROM gestao.mvtoestq; -- trigger function mirabolante que atualiza a view ou a tabela conforme uma regra de negócio esdrúxula create or replace FUNCTION finMvtoEstq() returns trigger as /* 250 linhas de código que chamam uma SP com mais 800 linhas cheias de SELECTs monstruosos e UPDATEs mirabolantes */ ... UPDATE public.mvtoestq SET... ... UPDATE gestao.mvtoestq SET... ... ; -- trigger sobre a view CREATE TRIGGER tr_mvtoestq_ins instead of INSERT ON public.mvtoestq FOR EACH ROW EXECUTE PROCEDURE finmvtoestq(); Neste último comando o Postgres me retorna: ERROR: syntax error at or near instead LINE 2: instead of INSERT Finalmente as perguntas: 1. O que eu faço agora? 2. Tem como contornar o problema sem precisar de uma View ? 3. Tem algum jeito de implementar de maneira equivalente ao Oracle ? 4. Tem algum outro jeito que funcione em Postgres ? 5. Alguém já passou por algo parecido ? Qual a solução adotada ? Atualmente todos os comandos das triggers e stored procedures estão embutidos no código da aplicação e são ativados somente quando ela usa Postgres. Isso complica imensamente a manutenção, dificulta a depuração e aumenta muito a chance de erros, além de dar ao usuário e ao desenvolvedor a chance (raramente desperdiçada) de deixar a tabela com dados inconsistentes. Grato pela atenção, Mozart Hasse ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] SOCORRO!!!
Cara suas tabelas tem indices? como está o uso de disco? alterou suas configurações de shared memory? Quantos usuarios tem conectados em cada base? Ativou os logs de execução e viu quais queryes estão mais demoradas e deu um explain nelas? Cara evite mandar mensagems como Socorro, Estou desesperado, meu mundo está caindo e etc... a maioria nem le isso.. soh vi seu email, pois acabei de apagar tudo o que eu tinha na pasta e ele chegou... On Seg, 2008-09-15 at 11:50 -0300, Brasil Software wrote: Subject: [pgbr-geral] SOCORRO!!! Date: Mon, 15 Sep 2008 11:50:05 -0300 Pessoal meu db continua caindo. MaquinaHP Processado XEON Memoria1GB HD 70GB espelhado SCSI Banco 3 base uma com 3 GB outras 4 GB e a ultima 2 um total 9 GB de BD. Preciso mostrar para meu cliente que esta maquina não esta adquanda. Como faço isto, alguem me ajude por favor. Se possivel passe-me a configuração para esta maquina. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] SOCORRO!!!
De cara aumente a memória RAM: de inicio 4GB.Mas vc tem que olhar os log´s e configurações atuais para comparar com os logs após acrescentar memória e ir monitorando para ver se 4Gb é o suficiente... isso depende do tipo de uso do banco. Adriano 2008/9/15 Brasil Software [EMAIL PROTECTED] Pessoal meu db continua caindo. MaquinaHP Processado XEON Memoria1GB HD 70GB espelhado SCSI Banco 3 base uma com 3 GB outras 4 GB e a ultima 2 um total 9 GB de BD. Preciso mostrar para meu cliente que esta maquina não esta adquanda. Como faço isto, alguem me ajude por favor. Se possivel passe-me a configuração para esta maquina. ___ 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] Java e Postgres : sistema de matematica financeira
Olá pessoal Estou desenvolvendo um sistema de ensino de matemática financeira usando java e postgres Gostaria de alguma dica do grupo sobre como fazer para incluir as todas fórmulas que abragem o tema, além de suas derivações, por exemplo : formula principal a = b + c derivação - b = a - c e c = a - b Não sei se o java ou o postgres já tem as fórmulas ... Também preciso que o sistema faça os cálculos, mostrando passo a passo .. Obrigado Atenciosamente, Marcos Fabrício Corso Analista de Sistemas Júnior JM Informática Fone : (41) 3076-0896 Fax : (41) 3352-2688 [EMAIL PROTECTED] www.informaticajm.com.br___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Java e Postgres : sistema de matematica financeira
Pra q vc vai precisar de persistência nesse programa? Eu nunca vi libs de matemática avançada, sugiro vc descobrir o nome certo (inglês) das formulas e procurar no google... Agora, se vc precisar mostrar o passo a passo de cada operação, aí muito provavelmente vc vai ter q programar tudo na mão mesmo, difícil alguém fazer uma lib didática sobre isso. Talvez algum professor da matéria já tenha feito. Pra matlab eu já vi uma lib de gaal, feita por um professor, é o mais perto q eu já vi de algo assim. Vc vai ter q ver um jeito de exibir tudo de forma bela pro aluno entender tb, eu conheço o FastFormulaPainter q faz isso, pode ser útil pra te inspirar :p --- Hikari - A Luz ilumina a PAZ http://Hikari.ws http://ConscienciaPlanetaria.com Tenha seu próprio email meunome @ ConscienciaPlanetaria.com.br!: http://seunome.ConscienciaPlanetaria.com.br - Original Message - From: Marcos Fabrício Corso To: Lista Java ; Lista ProJava Cc: Lista Postgres Sent: Monday, 15 September, 2008 1:54 PM Subject: [pgbr-geral] Java e Postgres : sistema de matematica financeira Olá pessoal Estou desenvolvendo um sistema de ensino de matemática financeira usando java e postgres Gostaria de alguma dica do grupo sobre como fazer para incluir as todas fórmulas que abragem o tema, além de suas derivações, por exemplo : formula principal a = b + c derivação - b = a - c e c = a - b Não sei se o java ou o postgres já tem as fórmulas .. Também preciso que o sistema faça os cálculos, mostrando passo a passo .. Obrigado Atenciosamente, Marcos Fabrício Corso ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Java e Postgres : sistema de matematica financeira
Opa, Boa noite a todos Então Marcos, acho q isso de você colocar a equação e ela expandir ou mudar os fatores, coisas de álgebra e tal, não é tao trivial de fazermas ainda bem, tem gente que já estudo e fez para gente... Veja: http://www.ginac.de/ - Uma biblioteca para manipular expressoes matemáticas simbolicas - GPL http://maxima.sourceforge.net/ - Um sistema de 2008/9/15 Hikari [EMAIL PROTECTED] Pra q vc vai precisar de persistência nesse programa? Eu nunca vi libs de matemática avançada, sugiro vc descobrir o nome certo (inglês) das formulas e procurar no google... Agora, se vc precisar mostrar o passo a passo de cada operação, aí muito provavelmente vc vai ter q programar tudo na mão mesmo, difícil alguém fazer uma lib didática sobre isso. Talvez algum professor da matéria já tenha feito. Pra matlab eu já vi uma lib de gaal, feita por um professor, é o mais perto q eu já vi de algo assim. Vc vai ter q ver um jeito de exibir tudo de forma bela pro aluno entender tb, eu conheço o FastFormulaPainter q faz isso, pode ser útil pra te inspirar :p --- Hikari - A Luz ilumina a PAZ http://Hikari.ws http://ConscienciaPlanetaria.com Tenha seu próprio email meunome @ ConscienciaPlanetaria.com.br!: http://seunome.ConscienciaPlanetaria.com.br - Original Message - *From:* Marcos Fabrício Corso[EMAIL PROTECTED] *To:* Lista Java [EMAIL PROTECTED] ; Lista ProJava[EMAIL PROTECTED] *Cc:* Lista Postgres pgbr-geral@listas.postgresql.org.br *Sent:* Monday, 15 September, 2008 1:54 PM *Subject:* [pgbr-geral] Java e Postgres : sistema de matematica financeira Olá pessoal Estou desenvolvendo um sistema de ensino de matemática financeira usando java e postgres Gostaria de alguma dica do grupo sobre como fazer para incluir as todas fórmulas que abragem o tema, além de suas derivações, por exemplo : formula principal a = b + c derivação - b = a - c e c = a - b Não sei se o java ou o postgres já tem as fórmulas .. Também preciso que o sistema faça os cálculos, mostrando passo a passo .. Obrigado Atenciosamente, Marcos Fabrício Corso ___ 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] Java e Postgres : sistema de matematica financeira
Opa, enviei pela metade 2008/9/15 Thiago Tiedtke [EMAIL PROTECTED] Opa, Boa noite a todos Então Marcos, acho q isso de você colocar a equação e ela expandir ou mudar os fatores, coisas de álgebra e tal, não é tao trivial de fazermas ainda bem, tem gente que já estudo e fez para gente... Veja: http://www.ginac.de/ - Uma biblioteca para manipular expressoes matemáticas simbolicas - GPL http://maxima.sourceforge.net/ - Um sistema de algebra computacional, com interface e tudo... (apertei o Enter de querer :P ) Bom, acredito que vc pode se guiar usando a lib ou o programa maximatalvez usando a lib, e desenvolvendo procedimentos e C que vc carrega no postgres... Bom, imagino que será bem trabalhosomas pensei em algo assim Acho que isso pode ajudar em algo []s Thiago Tiedtke dos Reis ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral