[pgbr-geral] Monitoramento Postgre 8.4
Pessoal, Sou novo aqui no grupo e também no mundo postgres. Gostaria de saber se existe alguma ferramenta para monitoramento do postgres no estilo do pgwatch. -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Metrialized VIEW Nativo
Pessoal, Dei uma pesquisada para saber se o postgres já tem suporte Nativo a materialized view. Até onde encontrei para conseguir fazer uso deste conceito no postgres, é necessário realizar a criação de algumas functions de BD. Alguém sabe informar se ainda não existe tal objeto de forma nativa? -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Metrialized VIEW Nativo
Pessoal, Me parece que realmente não existe. Nos livros de Simon Riggs e no de Gregory Smith eles afirmam que é possível utilizar esta técnica, porém não está disponível ainda. Ambos falam que para saber mais detalhes sobre esta técnica no postgres basta acessa or link abaixo http://wiki.postgresql.org/wiki/Materialized_Views E lá realmente fala que nativamente ainda não existe. É isso ai... Agradeço desde já a todos. Em 27 de agosto de 2011 10:24, francisco porfirio francisco.porfi...@gmail.com escreveu: Pessoal, Dei uma pesquisada para saber se o postgres já tem suporte Nativo a materialized view. Até onde encontrei para conseguir fazer uso deste conceito no postgres, é necessário realizar a criação de algumas functions de BD. Alguém sabe informar se ainda não existe tal objeto de forma nativa? -- Atenciosamente Francisco Porfirio Ribeiro Neto -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] psql: FATAL: Ident authentication failed for user
Você está tentando acessar através do pgadmin ou pelo psql? Caso seja pgadmin qual a conf que vc está passando? Sendo o psql, qual a linha ? para psql, tenta o seguinte comando: psql -U nome_usuario -W Em 2 de setembro de 2011 05:24, Pedro Costa pedrocostaa...@sapo.ptescreveu: Pessoal será que alguém pode ajudar no seguinte: Eu criei utilizadores para uma base de dados mas não consigo fazer login com eles porque dá o seguinte erro: psql: FATAL: Ident authentication failed for user “pedro” Já alterei o ficheiro pg_hba.conf e coloquei trust mas continua a não funcionar. O ficheiro está assim: TYPE DATABASEUSERCIDR-ADDRESS METHOD # local is for Unix domain socket connections only # local all all trust local all all trust # IPv4 local connections: hostallall0.0.0.00.0.0.0trust hostall all 127.0.0.1/32 trust # IPv6 local connections: hostall all ::1/128 trust A expressão que usei para criar o utilizador é a seguinte: create user pedro with password 'pedro' e retornou com sucesso. POdem ajudar? obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] psql: FATAL: Ident authentication failed for user
Pedro... Você precisa que fique como nosuperuser? Caso não, da uma olhada no link abaixo http://www.postgresql.org/docs/8.3/interactive/sql-alteruser.html Em 2 de setembro de 2011 07:45, Pedro Costa pedrocostaa...@sapo.ptescreveu: Caro francisco, já consegui, faltava reiniciar o postgres. Só que agora tenho outro problema, eu criei um utilizador nosuperuser e não tenho autorização para editar quando estabeleço a conexão, sabe como posso dar? obrigado On 02-09-2011 11:39, francisco porfirio wrote: Você está tentando acessar através do pgadmin ou pelo psql? Caso seja pgadmin qual a conf que vc está passando? Sendo o psql, qual a linha ? para psql, tenta o seguinte comando: psql -U nome_usuario -W Em 2 de setembro de 2011 05:24, Pedro Costa pedrocostaa...@sapo.ptescreveu: Pessoal será que alguém pode ajudar no seguinte: Eu criei utilizadores para uma base de dados mas não consigo fazer login com eles porque dá o seguinte erro: psql: FATAL: Ident authentication failed for user “pedro” Já alterei o ficheiro pg_hba.conf e coloquei trust mas continua a não funcionar. O ficheiro está assim: TYPE DATABASEUSERCIDR-ADDRESS METHOD # local is for Unix domain socket connections only # local all all trust local all all trust # IPv4 local connections: hostallall0.0.0.00.0.0.0trust hostall all 127.0.0.1/32 trust # IPv6 local connections: hostall all ::1/128 trust A expressão que usei para criar o utilizador é a seguinte: create user pedro with password 'pedro' e retornou com sucesso. POdem ajudar? obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing listpgbr-ge...@listas.postgresql.org.brhttps://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 Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Iniciando o PGAGENT
Pessoal, Estou tentando configurar o PGagent em uma máquina Windows. O meu postgres é o 8.3 Aparentemente instalou sem problemas, porém quando tento subir o servico sou informado que O nome do serviço não é válido Encontrei em alguns sites, o pessoal falando que tenho que configurar o meu pgpass.conf, já fiz a respectiva mudança, porém até o momento sem sucesso. Alguém poderia me auxiliar. -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Iniciando o PGAGENT
O comando que usei foi o seguinte: pgAgent INSTALL -U postgres -p senhaOS dbname=postgres user=postgres host=127.0.0.1 port=5432 password=senhaDB Em 5 de outubro de 2011 10:04, Dickson S. Guedes lis...@guedesoft.netescreveu: Em 5 de outubro de 2011 08:29, francisco porfirio francisco.porfi...@gmail.com escreveu: Pessoal, Estou tentando configurar o PGagent em uma máquina Windows. O meu postgres é o 8.3 Aparentemente instalou sem problemas, porém quando tento subir o servico sou informado que O nome do serviço não é válido Encontrei em alguns sites, o pessoal falando que tenho que configurar o meu pgpass.conf, já fiz a respectiva mudança, porém até o momento sem sucesso. Pode nos passar a linha de comando que você utilizou para iniciá-lo? -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Arquitetura para Seleção de ìndices
Caros, Li um um trabalho de dissertação de mestrado do Wendel Goes, que descreve sobre uma arquitetura para seleção de índices. Em sua dissertação o cara propões uma arquitetura que tem como objetivo propor o melhor índice a ser criado. Para que isto funcione é necessário realizar algumas mudanãs no postgres, com o que está descrito no trabalho não foi suficiente para realizar a implementação. Alguém já implementou essa arquitetura ou conhece o Wendel ? O link do seu trabalho é: http://dspace.c3sl.ufpr.br/dspace/bitstream/handle/1884/21543/Dissertacao_UFPR_Wendel_2008.pdf?sequence=1 Grato desde já pela colaboração de todos. -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Arquitetura para Seleção de ìndices
Obg Jotta COm, vou verificar. Bruno, O link é o seguinte http://dspace.c3sl.ufpr.br/dspace/bitstream/handle/1884/21543/Dissertacao_UFPR_Wendel_2008.pdf?sequence=1 Em 21 de novembro de 2011 09:52, Bruno Silva bemanuel...@gmail.comescreveu: Li um um trabalho de dissertação de mestrado do Wendel Goes, que descreve sobre uma arquitetura para seleção de índices. Em sua dissertação o cara propões uma arquitetura que tem como objetivo propor o melhor índice a ser criado. Para que isto funcione é necessário realizar algumas mudanãs no postgres, com o que está descrito no trabalho não foi suficiente para realizar a implementação. Alguém já implementou essa arquitetura ou conhece o Wendel ? Desculpa, mas isso não seria pra lista -dev ? A título de curiosidade qual o endereço da dissertação? Bruno E. A. Silva. Analista de Sistemas. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] DW com postgresql
Pessoal, Alguém da lista já construiu um DW com postgresql? Em caso afirmativo, qual tecnologia OLAP vocês fizeram uso? -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Limpar cache postgres
Pessoal, No postgres 9.0.1 existe algo para limpar cache? Similar ao seguinte comando do oracle... alter system flush buffer_cache? Preciso desta informação para poder testar performance de algumas consultas, e criação de determinados índices. -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Volumetria de banco e demais objetos
Bom dia meus amigos, Atualmente estou trabalhando com a versão 8.4 do postgres, e estou coletando a volumetria destes, porém, notei algo estranho que não consigo identificar o que seja. A verificar o tamanho da minha base, acusou que tenho 74gb, porém ao avaliar os objetos deste db, percebeu-se que só existia uma tabela de 35gb e um índice de 2mb. Mas como posso identificar os demais objetos que está ocupando este database? -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Volumetria de banco e demais objetos
--Tamanho dos databases SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database; --Tamanho de todas as tabelas. SELECT relname as Table, pg_size_pretty(pg_total_relation_size(relid)) As Size, pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as External Size FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC; Em 14 de maio de 2013 13:05, Fabrízio de Royes Mello fabriziome...@gmail.com escreveu: 2013/5/14 Francisco Porfirio francisco.porfi...@gmail.com Bom dia meus amigos, Atualmente estou trabalhando com a versão 8.4 do postgres, e estou coletando a volumetria destes, porém, notei algo estranho que não consigo identificar o que seja. A verificar o tamanho da minha base, acusou que tenho 74gb, porém ao avaliar os objetos deste db, percebeu-se que só existia uma tabela de 35gb e um índice de 2mb. Mas como posso identificar os demais objetos que está ocupando este database? Como vc verificou esses tamanhos??? Vc considerou os tamanhos dos objetos do catálogo local do teu banco qdo verificou individualmente?? 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 -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Stream Replication x Slony
Obrigado pela Resposta Euler, Não replicar DDL's seria um gargalo para mim, tendo em vista que tenho atualizações com uma boa frequencia das apps. Sobre o large objects, no modelo Stream Replication existe alguma restrição, ou funciona bem? Em 5 de março de 2015 11:51, Euler Taveira eu...@timbira.com.br escreveu: On 04-03-2015 16:08, Francisco Porfirio wrote: Atualmente estou usando o postgres 9.3.5, e estudando uma solução que sejá mais adequada para a minha realidade. Tenho um Server com vários databases, e gostaria de criar um slave para ter a replicação de alguns destes, não todos. Pelo que já li, através do Streaming replication, só consigo fazer a replicação de todos os databases, isso procede? Sim. Este seria um fator decisivo para que eu venha a fazer a minha replicação com Slony? Sobre a experiência de vocês com Slony, algo de negativo que vocês possam repassar? É um software maduro. Vale ressaltar que: * não replica DDLs automaticamente; * não replica large objects automaticamente; * não replica alteração em roles; * replicação com gatilhos pode ser tornar um gargalo se houver uma quantidade muito grande de servidores/bancos de dados/tabelas. -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Stream Replication x Slony
Boa Tarde Comunidade, Atualmente estou usando o postgres 9.3.5, e estudando uma solução que sejá mais adequada para a minha realidade. Tenho um Server com vários databases, e gostaria de criar um slave para ter a replicação de alguns destes, não todos. Pelo que já li, através do Streaming replication, só consigo fazer a replicação de todos os databases, isso procede? Este seria um fator decisivo para que eu venha a fazer a minha replicação com Slony? Sobre a experiência de vocês com Slony, algo de negativo que vocês possam repassar? Grato desde já pela colaboração. -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Function para remover session prepared
Olá Pessoal, Tenho um cenário em que a aplicação de produção deixa com frequencia sessions prepared no banco. De forma que o paliativo para não causar mais indisponibilidade seria construir uma function, onde verificaria se a session prepared estaria a mais de X minutos, em caso afirmativo seria executado o rollback prepared. Construi a function abaixo, porém ao executar no banco em que existe a session prepared simplesmente o rollback não é feito. Caso alguém possa ajudar ficaria agradecido CREATE or replace FUNCTION remove_prepared() RETURNS text AS $$ DECLARE var_qtd_prepared integer; varre record; text_var1 text; text_var2 text; text_var3 text; var_command_string text; BEGIN select count(1) into var_qtd_prepared from pg_prepared_XACTS; if (var_qtd_prepared 0) then for varre in ( SELECT gid, prepared, database FROM pg_prepared_XACTS where age(now(),prepared) = '30 minutes' ) loop begin RAISE INFO 'Database: %',varre.database; RAISE INFO 'Prepared: %',varre.prepared; RAISE INFO 'Gid: %',varre.gid; var_command_string := 'ROLLBACK PREPARED '''||varre.gid||; RAISE INFO '%',var_command_string; execute var_command_string; RAISE INFO '---'; exception when others then GET STACKED DIAGNOSTICS text_var1 = MESSAGE_TEXT, text_var2 = PG_EXCEPTION_DETAIL, text_var3 = PG_EXCEPTION_HINT; end; end loop; end if; return null; END; $$ LANGUAGE remove_prepared; -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Function para remover session prepared
Olá Fabrízio, Obrigado pela resposta. De fato não é a melhor solução, mas o que ocorre é que realmente a app está fazendo isso de forma indevida, e fica esquecendo estas sessios por lá. O correto seria ajustar no código, porém, infelizmente a instituição que desenvolveu app não está disposto a fazer tal análise. Em 12 de maio de 2015 17:13, Fabrízio de Royes Mello fabri...@timbira.com.br escreveu: On 12-05-2015 16:23, Francisco Porfirio wrote: Olá Pessoal, Tenho um cenário em que a aplicação de produção deixa com frequencia sessions prepared no banco. De forma que o paliativo para não causar mais indisponibilidade seria construir uma function, onde verificaria se a session prepared estaria a mais de X minutos, em caso afirmativo seria executado o rollback prepared. Construi a function abaixo, porém ao executar no banco em que existe a session prepared simplesmente o rollback não é feito. Caso alguém possa ajudar ficaria agradecido CREATE or replace FUNCTION remove_prepared() RETURNS text AS $$ DECLARE var_qtd_prepared integer; varre record; text_var1 text; text_var2 text; text_var3 text; var_command_string text; BEGIN select count(1) into var_qtd_prepared from pg_prepared_XACTS; if (var_qtd_prepared 0) then for varre in ( SELECT gid, prepared, database FROM pg_prepared_XACTS where age(now(),prepared) = '30 minutes' ) loop begin RAISE INFO 'Database: %',varre.database; RAISE INFO 'Prepared: %',varre.prepared; RAISE INFO 'Gid: %',varre.gid; var_command_string := 'ROLLBACK PREPARED '''||varre.gid||; RAISE INFO '%',var_command_string; execute var_command_string; RAISE INFO '---'; exception when others then GET STACKED DIAGNOSTICS text_var1 = MESSAGE_TEXT, text_var2 = PG_EXCEPTION_DETAIL, text_var3 = PG_EXCEPTION_HINT; end; end loop; end if; return null; END; $$ LANGUAGE remove_prepared; E se for o caso de uma prepared transaction ser longa mesmo?? Claro que isso não é bom, mas dependendo de como foi implementada a aplicação. Eu faria o seguinte: 1) Monitorar os pg_prepared_xacts que X tempo, e dependendo do caso tomar uma ação. Automatizar isso pode causar problemas. 2) Investigar porque a aplicação está deixando esses rastros para corrigir eventuais distorções e analisar se realmente é necessário utilizar 2pc (two-phase commit). PS: eu já passei por cenários em que se encaixam no item 2 e que na real a arquitetura da app foi projetada para usar 2pc por desconhecimento de como o PostgreSQL funciona (cluster, bancos, schemas, etc). Att, -- Fabrízio de Royes Mello 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 -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Cannot allocate memory
Em 9 de fevereiro de 2017 14:51, Mariana Hansen <mariana.ki...@gmail.com> escreveu: > Boa tarde. > > Gostaria de uma pequena ajuda, um "brainstorm" quem sabe... > > Conforme tenho acompanhado nos logs, após a execução de uma query > gigantesca pela aplicação, na segunda vez, logo em seguida começam a > aparecer várias msg no log "cannot allocate memory". > Estranhamente, ao dar o comando free -m exibe que ainda se tem mais de > 10GB de memória livre. > Já procurei no Google, aqui mesmo no histórico da lista achei um caso > semelhante. > Parâmetros do kernel (semáforos e memória compartilhada) já foram > ajustados conforme a documentação do pg. > Eu sei que a maior culpa disso é da aplicação que manda uma query p/ o > banco que tem 97 joins... > Mas o que causa maior curiosidade é dizer q náo pode alocar memória, sendo > que ainda tem bastante. > Alguma idéia? > > Thx! > > > > PostgreSQL 9.4 > > shared_buffers = 6GB > work_mem = 8MB > maintenance_work_mem = 64MB > > > RedHat 7.3 > 32GB RAM > > > Mariana, Envia os valores de memória e semáforos que estão no sysctl, bem como o valor do seu max_connection. E se possível, a linha completa do erro, ou só aparece isso? > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tuning?
Cara,sem saber exatamente o que você está fazendo, eu diria para desativar o archive e procurar usar o comando copy. Em sáb, 11 de mar de 2017 às 12:26, Cleiton Luiz Domazak < cleitondoma...@gmail.com> escreveu: > 2017-03-11 9:57 GMT-03:00 Pablo Sánchez <phack...@gmail.com>: > > Caros, > > Estou com um pequeno probleminha de performance em importacao, que não tem > relacão com o código, mas sim o Postgres. > > Basicamente é um CSV que popula uma tabela auto-relacional, o CSV tem > 650.000 linhas > > No comeco a importacão estava indo bem (200 linhas por minuto), assim que > chegou a 50.000 ja tinha caido para 120 por minuto, com 75.000 linhas, caiu > para 80 por minuto e agora esta em 60 por minuto, o que mostra uma > degradacao constante. > > > Seria muito útil você postar o comando, pois sem saber como a carga é > feita, não tem como fazer nenhuma análise. > > Mas já tive esse problema quando a carga é feita com algum tipo de > checagem dos dados importados, pois conforme você faz a carga realmente > pode ocorrer uma degradação na performance, fazendo com que quanto mais > dados você insere, mais lento se torna a carga. > > > Ja foram desativados todos os relacionamentos, todas as triggers, sequer > foram criados indices ainda, ja foi feito renice dos processos ppara -19, o > script de importacao mal come memoria para cachear alguns objetos de > hierarquia mais alta (pais, estado, mmunicipio, cidade), ajustei > shared_buffers e o escambal, e nada de aumentar a performance. Só faltaram > agora tunnings de kernel do Linux mesmo. > > Comecamos a importar ontem as 16hs, e as 16h40 tinhamos umas 8000 linhas > processadas ja, mas jah se passaram quase 21 horas e estamos so agora > chegando nas 100.000 linhas. Nesse ritmo, soh vai terminar lah pelo fim de > semana que vem. > > Alguém tem alguma sugestão que não essas já mencionadas, ou alguém saberia > indicar o porque? Eu até já desativei o processamento das colunas de > geography achando que poderia melhorar, mas sem melhora significativa (o > que me rendeu algumas linhas perdidas e sem essa informacao, que depois eu > dou um jeito manual de arrumar isso). > > -- > > > > > > *Pablo Santiago Sánchez* > ZCE ZEND006757 > phack...@gmail.com > (61) 9843-0883 > http://www.sansis.com.br > *"Pluralitas non est ponenda sine necessitate"* > > ___ > 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 Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] oom-killer (out of memory killer) matando postmaster !
Em ter, 16 de mai de 2017 às 21:38, Franklin Anderson de Oliveira Souza < frankli...@gmail.com> escreveu: > fui incrementando ao longo dos meses, com esse valor os arquivos > temporario ($PGDTA/base/pgsql_tmp/) diminuiram bastante ! > Considere revisar suas querys no lugar de incrementar desta forma o work_mem. Escrita de tempfile em grande quantidade não é algo muito interessante, e se usar demais a work_mem você ocupa toda a memória só com ela. Masss... Se ainda assim você precisar disso tudo, imagino que precisará rever a memória do teu Servidor, e os parâmetros de memória do Postgres/SO Reforço que eu me concentraria em verificar como poderia baixar a work_mem > > Em 16 de maio de 2017 20:17, Francisco Porfirio < > francisco.porfi...@gmail.com> escreveu: > >> >> Em ter, 16 de mai de 2017 às 17:50, Franklin Anderson de Oliveira Souza < >> frankli...@gmail.com> escreveu: >> >>> Ola caros amigos, desculpe a falta de acentuacao !! >>> >>> Tenho um servidor postgresql que com uma frequencia quase que diaria o >>> mesmo altera para o estado de recovery, observando o log do postgresql >>> encontrei o seguinte trecho: >>> >>> - >>> LOG: server process (PID 2529) was terminated by signal 9: Killed >>> DETAIL: Failed process was running: select.. >>> LOG: terminating any other active server processes >>> WARNING: terminating connection because of crash of another server >>> process >>> DETAIL: The postmaster has commanded this server process to roll back >>> the current transaction and exit, because another server process exited >>> abnormally and possibly corrupted shared memory. >>> HINT: In a moment you should be able to reconnect to the database and >>> repeat your command. >>> - >>> >>> Em seguida observando o log do CentOS encontrei o seguinte: >>> >>> - >>> kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, >>> oom_adj=0, oom_score_adj=0 >>> kernel: postmaster cpuset=/ mems_allowed=0 >>> kernel: Pid: 51831, comm: postmaster Not tainted >>> 2.6.32-504.8.1.el6.x86_64 #1 >>> kernel: Call Trace: >>> kernel: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 >>> kernel: [] ? dump_header+0x90/0x1b0 >>> kernel: [] ? security_real_capable_noaudit+0x3c/0x70 >>> kernel: [] ? oom_kill_process+0x82/0x2a0 >>> kernel: [] ? select_bad_process+0xe1/0x120 >>> kernel: [] ? out_of_memory+0x220/0x3c0 >>> kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 >>> kernel: [] ? alloc_pages_vma+0x9a/0x150 >>> kernel: [] ? handle_pte_fault+0x73d/0xb00 >>> kernel: [] ? alloc_pages_current+0xaa/0x110 >>> kernel: [] ? autoremove_wake_function+0x0/0x40 >>> kernel: [] ? handle_mm_fault+0x22a/0x300 >>> kernel: [] ? __do_page_fault+0x138/0x480 >>> kernel: [] ? sys_recvfrom+0xee/0x180 >>> kernel: [] ? mutex_lock+0x1e/0x50 >>> kernel: [] ? generic_file_llseek_size+0x8c/0xd0 >>> kernel: [] ? do_page_fault+0x3e/0xa0 >>> kernel: [] ? page_fault+0x25/0x30 >>> - >>> >>> Pesquisando encontrei na documentacao uma referencia a esse problema[1] >>> que mostra claramente que a funcao do kernel esta matando o postmaster[2] >>> deixando-o em recovery. >>> >>> O que eu fiz em um primeiro momento foi incrementar a memoria e depois >>> em um horario mais apropriado efetuarei as alteracoes sugeridas na >>> documentacao(vm.overcommit_memory, vm.overcommit_ratio, shmmax). >>> >>> Perguntas: >>> >>> 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja >>> passaram por isso e que decisoes tomaram? >>> 2- Estou com dificuldade de mensurar o consumo de memoria do postgresql, >>> qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas hoje >>> disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo que 1/3 >>> equivale no htop com a cor verde e 60% com a cor amarela[3], isso significa >>> que esta usando toda a memoria ?! >>> >>> Dados adicionais: >>> Centos 6.6 >>> Postgresql 9.3.6 >>> kernel 2.6.32 >>> >>> effective_cache_size = 6GB >>> shared_buffers = 6GB >>> work_mem = 576MB >>> >> >> Me chamou muito atenção esse valor que você está usando na work_mem. Qual >> o seu max_connections? >> >> Com o Work_mem deste tamanho você pode estourar o uso da memória super &g
Re: [pgbr-geral] oom-killer (out of memory killer) matando postmaster !
Em ter, 16 de mai de 2017 às 17:50, Franklin Anderson de Oliveira Souza < frankli...@gmail.com> escreveu: > Ola caros amigos, desculpe a falta de acentuacao !! > > Tenho um servidor postgresql que com uma frequencia quase que diaria o > mesmo altera para o estado de recovery, observando o log do postgresql > encontrei o seguinte trecho: > > - > LOG: server process (PID 2529) was terminated by signal 9: Killed > DETAIL: Failed process was running: select.. > LOG: terminating any other active server processes > WARNING: terminating connection because of crash of another server process > DETAIL: The postmaster has commanded this server process to roll back the > current transaction and exit, because another server process exited > abnormally and possibly corrupted shared memory. > HINT: In a moment you should be able to reconnect to the database and > repeat your command. > - > > Em seguida observando o log do CentOS encontrei o seguinte: > > - > kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, > oom_adj=0, oom_score_adj=0 > kernel: postmaster cpuset=/ mems_allowed=0 > kernel: Pid: 51831, comm: postmaster Not tainted 2.6.32-504.8.1.el6.x86_64 > #1 > kernel: Call Trace: > kernel: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 > kernel: [] ? dump_header+0x90/0x1b0 > kernel: [] ? security_real_capable_noaudit+0x3c/0x70 > kernel: [] ? oom_kill_process+0x82/0x2a0 > kernel: [] ? select_bad_process+0xe1/0x120 > kernel: [] ? out_of_memory+0x220/0x3c0 > kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 > kernel: [] ? alloc_pages_vma+0x9a/0x150 > kernel: [] ? handle_pte_fault+0x73d/0xb00 > kernel: [] ? alloc_pages_current+0xaa/0x110 > kernel: [] ? autoremove_wake_function+0x0/0x40 > kernel: [] ? handle_mm_fault+0x22a/0x300 > kernel: [] ? __do_page_fault+0x138/0x480 > kernel: [] ? sys_recvfrom+0xee/0x180 > kernel: [] ? mutex_lock+0x1e/0x50 > kernel: [] ? generic_file_llseek_size+0x8c/0xd0 > kernel: [] ? do_page_fault+0x3e/0xa0 > kernel: [] ? page_fault+0x25/0x30 > - > > Pesquisando encontrei na documentacao uma referencia a esse problema[1] > que mostra claramente que a funcao do kernel esta matando o postmaster[2] > deixando-o em recovery. > > O que eu fiz em um primeiro momento foi incrementar a memoria e depois em > um horario mais apropriado efetuarei as alteracoes sugeridas na > documentacao(vm.overcommit_memory, > vm.overcommit_ratio, shmmax). > > Perguntas: > > 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja > passaram por isso e que decisoes tomaram? > 2- Estou com dificuldade de mensurar o consumo de memoria do postgresql, > qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas hoje > disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo que 1/3 > equivale no htop com a cor verde e 60% com a cor amarela[3], isso significa > que esta usando toda a memoria ?! > > Dados adicionais: > Centos 6.6 > Postgresql 9.3.6 > kernel 2.6.32 > > effective_cache_size = 6GB > shared_buffers = 6GB > work_mem = 576MB > Me chamou muito atenção esse valor que você está usando na work_mem. Qual o seu max_connections? Com o Work_mem deste tamanho você pode estourar o uso da memória super rápido. > > > [1] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html > [2] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html > [3] - > https://serverfault.com/questions/180711/what-exactly-do-the-colors-in-htop-status-bars-mean > > -- > foobar > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Quando devo aumentar o shared_buffers ?!
Olá Franklin, De fato não é uma regra, mas valores acima disso para um ambiente OLTP não é muito recomendado. A idéia é deixar na shared_buffer o que está ativo. Se você aumenta muito esse valor, a probabilidade dele armazenar dados desnecessário é maior. Caso queira avaliar o uso da sua shared_buffer, recomendo usar a extension pg_buffercache, da para fazer umas análises legais e com base nisso você tomar algumas decisões mais acertadas. Ainda assim, caso precise aumentar, ficar atento ao teu "max_connections" associado com "work_mem" Caso você venha a aumentar muito sua shared_buffer, você pode comprimir demais o espaço que poderia ser usado para work_mem. Em 6 de junho de 2017 12:25, Franklin Anderson de Oliveira Souza < frankli...@gmail.com> escreveu: > Olá Amigos ! > > Em um servidor de produção o shared_buffers conta com 8Gb. Analisando o > consumo dessa memória disponível[1] observei que está sendo consumida em > torno de 99% desse recurso, isso seria um argumento para aumentar esse > valor ?! > > O servidor em questão conta com 32Gb de Memória Ram disponível, trata-se > de um > CentOS 6 minimal rodando unicamente o PostgreSQL 9.3. > > Tenho visto na documentação[2] que o valor ideal fica na casa dos 25% mas > isso não parece > ser uma regra. > > Alguma dica ?! > > > > [2] - https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server > https://www.postgresql.org/message-id/1395836511. > 796897979%40f327.i.mail.ru > > > [1] - https://www.postgresql.org/docs/9.3/static/pgbuffercache.html > https://listas.postgresql.org.br/pipermail/pgbr-geral/2012- > November/033322.html > > > -- > foobar > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral