[pgbr-geral] VACUUM FULL ANALYZE VERBOSE
[QUERY] VACUUM FULL ANALYZE VERBOSE jbpm_byteblock INFO: vacuuming "public.jbpm_byteblock" INFO: "jbpm_byteblock": found 15505882 removable, 18439352 nonremovable row versions in 4762603 pages DETAIL: 0 dead row versions cannot be removed yet. CPU 106.46s/45.32u sec elapsed 433.55 sec. INFO: analyzing "public.jbpm_byteblock" INFO: "jbpm_byteblock": scanned 30 of 2564994 pages, containing *2156123* live rows and 0 dead rows; 30 rows in sample, 18438821 estimated total rows [QUERY] VACUUM FULL ANALYZE VERBOSE jbpm_variableinstance INFO: vacuuming "public.jbpm_variableinstance" INFO: "jbpm_variableinstance": found 0 removable, 15556252 nonremovable row versions in 283202 pages DETAIL: 3070018 dead row versions cannot be removed yet. CPU 7.59s/16.67u sec elapsed 65.72 sec. INFO: analyzing "public.jbpm_variableinstance" INFO: "jbpm_variableinstance": scanned 276005 of 276005 pages, containing *12486234* live rows and *3070018* dead rows; 30 rows in sample, 12486234 estimated total rows Não entendi esses números coloridos. O banco não tem nenhuma conexão, só a minha. O que significaria live rows no analyze? Não deveria ser igual ao nonremovable do vacuum full? (VERMELHO) Esse valor seria apenas das 30 páginas? Se sim por que na 2a tabela está diferente já que pegou todas as páginas? Por que existem dead rows, já que passei um vacuum full na tabela ? (AZUL) Qual seria a diferença do live rows do nonremovable rows? Não estou entendendo a diferença dos valores das linhas no vacuum e no analyze. ___ 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 ANALYZE VERBOSE
2016-03-31 16:10 GMT-03:00 Luiz Carlos L. Nogueira Jr. < lcnogueir...@gmail.com>: > [QUERY] VACUUM FULL ANALYZE VERBOSE jbpm_byteblock > INFO: vacuuming "public.jbpm_byteblock" > INFO: "jbpm_byteblock": found 15505882 removable, 18439352 > nonremovable row versions in 4762603 pages > DETAIL: 0 dead row versions cannot be removed yet. > CPU 106.46s/45.32u sec elapsed 433.55 sec. > INFO: analyzing "public.jbpm_byteblock" > INFO: "jbpm_byteblock": scanned 30 of 2564994 pages, > containing *2156123* live rows and 0 dead rows; 30 rows in sample, > 18438821 estimated total rows > > [QUERY] VACUUM FULL ANALYZE VERBOSE jbpm_variableinstance > INFO: vacuuming "public.jbpm_variableinstance" > INFO: "jbpm_variableinstance": found 0 removable, 15556252 > nonremovable row versions in 283202 pages > DETAIL: 3070018 dead row versions cannot be removed yet. > CPU 7.59s/16.67u sec elapsed 65.72 sec. > INFO: analyzing "public.jbpm_variableinstance" > INFO: "jbpm_variableinstance": scanned 276005 of 276005 > pages, containing *12486234* live rows and *3070018* dead rows; 30 > rows in sample, 12486234 estimated total rows > Boa tarde! > > Não entendi esses números coloridos. O banco não tem nenhuma conexão, só a > minha. > Nesse contexto isso não é relavante. > O que significaria live rows no analyze? Não deveria ser igual ao > nonremovable do vacuum full? (VERMELHO) > Esse valor seria apenas das 30 páginas? > Durante a execução do ANALYZE o processo é feito por amostragem, limitadas em até 30.000 linhas. Dessas linhas, ele estima que 12486234 são vivas (ou seja, estão validas) e 3070018 estão mortas (ou invalidas). Isso normalmente quer dizer que tua tabela está inchada devido ao comportamento do MVVC. > Se sim por que na 2a tabela está diferente já que pegou todas as páginas? > > Aparentemente a diferença é que apenas umas das tabelas, o analyze acredita que tenha mais tuplas mortas do que a outra. > Por que existem dead rows, já que passei um vacuum full na tabela ? (AZUL) > > Qual seria a diferença do live rows do nonremovable rows? > Curioso isso. Ao meu ver o processo de vacuum full deveria reescrever o datafile e sumir com essas paginas "mortas". Qual é a versão do seu PostgreSQL? -- Sebastian Webber http://swebber.me ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] VACUUM FULL ANALYZE VERBOSE
versão 9.3 Nesse contexto isso não é relavante. --É relevante porque eu garanto que não estão sendo incluídas nem apagadas as linhas. (pra naõ termos distorções nos valores) Durante a execução do ANALYZE o processo é feito por amostragem, limitadas em até 30.000 linhas. Dessas linhas, ele estima que 12486234 são vivas (ou seja, estão validas) e 3070018 estão mortas (ou invalidas). Isso normalmente quer dizer que tua tabela está inchada devido ao comportamento do MVVC. --Nas duas tabelas foi feito um vacuum full antes, não devendo mais aparecer linhas mortas ___ 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 ANALYZE VERBOSE
Em qui, 31 de mar de 2016 22:28, Luiz Carlos L. Nogueira Jr. < lcnogueir...@gmail.com> escreveu: > versão 9.3 > > Nesse contexto isso não é relavante. > > --É relevante porque eu garanto que não estão sendo incluídas nem apagadas > as linhas. (pra naõ termos distorções nos valores) > > Durante a execução do ANALYZE o processo é feito por amostragem, limitadas > em até 30.000 linhas. Dessas linhas, ele estima que 12486234 são vivas (ou > seja, estão validas) e 3070018 estão mortas (ou invalidas). Isso > normalmente quer dizer que tua tabela está inchada devido ao comportamento > do MVVC. > > --Nas duas tabelas foi feito um vacuum full antes, não devendo mais > aparecer linhas mortas > > Oi Luiz Verifique duas coisas, a primeira, qual a versão completa? Existe um bug já corrigido que tem relação com vacuum, veja este release notes: http://www.postgresql.org/docs/9.4/static/release-9-3-5.html Se for seu caso, siga as instruções ao atualizar removendo o arquivo indicado. A segunda, me recordo que sua aplicação é escrita em Java. Veja se por acaso não estão usando transações preparadas com um select na visão pg_prepared_xacts Se alguma transação não foi corretamente encerrada ela fica no servidor de banco indefinidamente. Isso deixa locks, mesmo sem outros usuários conectados e mesmo se o servidor foi reiniciado. Aí as tuplas não são removidas. []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] VACUUM FULL ANALYZE VERBOSE
Flávio, select version(); PostgreSQL 9.3.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit select * from pg_prepared_xacts Sem linhas afetadas ___ 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 ANALYZE VERBOSE
Completando WITH list(file) AS (SELECT * FROM pg_ls_dir('pg_multixact/offsets')) SELECT EXISTS (SELECT * FROM list WHERE file = '') AND NOT EXISTS (SELECT * FROM list WHERE file = '0001') AND NOT EXISTS (SELECT * FROM list WHERE file = '') AND EXISTS (SELECT * FROM list WHERE file != '') AS file__removal_required; f ___ 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 ANALYZE VERBOSE
select version(); PostgreSQL 9.3.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit 9.3.4 -> 9.3.12 O release notes que te mandei já é da 9.3.6, você está bemm atrasado. Atualiza e depois nos diz se seu problema foi resolvido. Senão talvez tenhamos de ir lá na lista internacional, ou talvez a turma da Timbira tenha alguma ideia, eles estão mais por dentro do código que eu. select * from pg_prepared_xacts Sem linhas afetadas Obrigado, não é teu caso. []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] VACUUM FULL ANALYZE VERBOSE
Só consegui fazer o vacuum full depois de dar uma porrada de chekpoints na base. Mas com um checkpoint só não funcionou. Não entendo o motivo desse comportamento. ___ 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 ANALYZE VERBOSE
On 04-04-2016 09:26, Luiz Carlos L. Nogueira Jr. wrote: > Não entendo o motivo desse comportamento. > Você não apresentou o cenário do seu ambiente. Você possui replicação? Quais os parâmetros diferente do padrão [1] da sua configuração? [1] https://gist.github.com/eulerto/450501d8ef00404e665b46a2f2a6e8e2 -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] VACUUM FULL ANALYZE VERBOSE
Euler, Sem replicação. name | current_setting |source| sourcefile | sourceline -+--+--+-+ application_name| psql | client | | archive_command | cp /var/lib/pgsql/9.3/data/%p /backup/wal/%f | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf |196 archive_mode| on | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 194 archive_timeout | 10min | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 200 autovacuum_analyze_scale_factor | 0.02 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 467 autovacuum_max_workers | 9 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 459 autovacuum_vacuum_scale_factor | 0.05 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 466 bgwriter_lru_maxpages | 150 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 149 checkpoint_segments | 25 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 186 checkpoint_timeout | 10min | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 187 client_encoding | UTF8 | client | | data_checksums | off | override | | DateStyle | ISO, MDY | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 511 default_statistics_target | 1000 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 286 default_text_search_config | pg_catalog.english | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 533 effective_cache_size| 60GB | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 272 lc_collate | en_US.UTF-8 | override | | lc_ctype| en_US.UTF-8 | override | | lc_messages | en_US.UTF-8 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 526 lc_monetary | en_US.UTF-8 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 528 lc_numeric | en_US.UTF-8 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 529 lc_time | en_US.UTF-8 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 530 listen_addresses| * | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 59 lo_compat_privileges| on | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 567 log_autovacuum_min_duration | 0 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 455 log_checkpoints | on | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 392 log_connections | on | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 393 log_destination | stderr | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 300 log_directory | pg_log | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 312 log_disconnections | on | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 394 log_filename| postgresql-%Y%m%d.log | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 314 log_line_prefix | %t [%p]: [%l-1] db=%d,user=%u@%r %x:%v | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 398 log_lock_waits | on | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 418 log_min_duration_statement | 1s | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 380 log_rotation_age| 1d | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 326 log_rotation_size | 100MB | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 328 log_statement | ddl | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 419 log_temp_files | 0 | configuration file | /var/lib/pgsql/9.3/data/postgresql.conf | 420 log_timezone| America/Recife | configuration file |
Re: [pgbr-geral] VACUUM FULL ANALYZE VERBOSE
Euler, Sem replicação. E backup na hora do vacuum? (...) server_version | 9.3.4 Você ainda não atualizou. Lembra que eu disse que um bug relativo ao seu problema está corrigido? Apesar de ter resolvido o problema dando uma porrada de checkpoints, não acho que esse seja um comportamento "normal" para o banco Não, não é normal. 1) Atualize, você deveria estar rodando 9.3.12 2) Veja se houve backup no momento do seu teste. []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] VACUUM FULL ANALYZE VERBOSE
On 05-04-2016 08:23, Luiz Carlos L. Nogueira Jr. wrote: > max_prepared_transactions | 2000 > Você utiliza transações preparadas? > Apesar de ter resolvido o problema dando uma porrada de checkpoints, não > acho que esse seja um comportamento "normal" para o banco > Checkpoint não tem relação com isso. Algo (transação aberta, DELETE bem recente, replicação) estava impedindo o avanço do id de transação. Como você está utilizando um versão desatualizada (e repleta de bugs conhecidos inclusive relacionado ao vacuum), sugiro que faça a atualização e se o problema do VACUUM persistir, investigaremos. -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] VACUUM FULL ANALYZE VERBOSE
Flávio, Não estava ocorrendo backup na hora, inclusive o banco nem está no modo archivelog. Ele é um banco que copiamos todo dia de produção pro ambiente de homologação. Euler, Sim, mas não tinha nenhuma presa, inclusive nenhuma aplicação usa esse banco. Ele só fica como template se pedirem pra criar uma cópia de testes com a base de produção do dia anterior. O que é estranho é que o banco está isolado, somente sendo utilizado por mim (1 conexão), sem transações preparadas presas nem nada. De manhã deu problema no vacuum full (logo após os deletes) e à tarde deu certo, sem nenhuma intervenção. Como o "paliativo" dos checkpoints deu certo, vamos "levando" dessa forma e estamos nos programando já pra ir pra 9.5.2. Mas que é estranho é. Se tiverem interesse de replicar o problema Tenham uma tabela grande (uns 30GB com blobs) façam um begin; muitos deletes (50% da base) commit; Vacuum full analyse verbose Mesmo quando fiz: checkpoint Vacuum full analyse verbose não fez diferença ___ 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 ANALYZE VERBOSE
Em 6 de abril de 2016 09:01, Luiz Carlos L. Nogueira Jr. < lcnogueir...@gmail.com> escreveu: > > Se tiverem interesse de replicar o problema > > Tenham uma tabela grande (uns 30GB com blobs) > façam um > begin; > muitos deletes (50% da base) > commit; > Vacuum full analyse verbose > > Mesmo quando fiz: > checkpoint > Vacuum full analyse verbose > > não fez diferença > Você já verificou a situação da atualização dos binários, como já relataram anteriormente? Pelo que li nas mensagens, essa situação parece ter sido ignorada. Se não houve atualização da release, creio que seria um bom ambiente pra você mesmo tentar fazer a reprodução do problema em uma versão atualizada. []'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] VACUUM FULL ANALYZE VERBOSE
Rafael, Iremos fazer isso em breve. ___ 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 ANALYZE VERBOSE
Rafael, Iremos fazer isso em breve. Atualizar pra 9.3.12 é um processo simples, basta atualizar os binários e reiniciar o banco. É a única sugestão que você não seguiu e não entendemos o porquê. Você não precisa ir "direto pra 9.5.2", entendo que você precisa corrigir o seu problema na versão em que está (9.3), sem impacto pras suas operações, mas com enorme diminuição de riscos e possíveis problemas. Deveria ser sua política por padrão, aliás a de todo mundo. []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] VACUUM FULL ANALYZE VERBOSE
Flavio, É uma questão que não depende só de mim, mas vou tentar. ___ 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 ANALYZE VERBOSE
Versão atualizada pra 9.3.12. O problema aparentemente foi corrigido. Fiz os mesmos testes . [QUERY] VACUUM FULL analyze verbose jbpm_byteblock INFO: vacuuming "public.jbpm_byteblock" INFO: "jbpm_byteblock": found 8994 removable, 18829714 nonremovable row versions in 2620337 pages DETAIL: 0 dead row versions cannot be removed yet. CPU 71.97s/27.34u sec elapsed 231.67 sec. INFO: analyzing "public.jbpm_byteblock" INFO: "jbpm_byteblock": scanned 30 of 2619065 pages, containing 2158397 live rows and 0 dead rows; 30 rows in sample, 18831267 estimated total rows [QUERY] VACUUM FULL analyze verbose jbpm_variableinstance INFO: vacuuming "public.jbpm_variableinstance" INFO: "jbpm_variableinstance": found 679 removable, 12736203 nonremovable row versions in 225672 pages DETAIL: 0 dead row versions cannot be removed yet. CPU 5.43s/8.46u sec elapsed 14.66 sec. INFO: analyzing "public.jbpm_variableinstance" INFO: "jbpm_variableinstance": scanned 225654 of 225654 pages, containing 12736203 live rows and 0 dead rows; 30 rows in sample, 12736203 estimated total rows ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral