[pgbr-geral] VACUUM FULL ANALYZE VERBOSE

2016-03-31 Thread Luiz Carlos L. Nogueira Jr.
[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 Thread Sebastian Webber
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

2016-03-31 Thread Luiz Carlos L. Nogueira Jr.
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

2016-03-31 Thread Flavio Henrique Araque Gurgel
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

2016-04-01 Thread Luiz Carlos L. Nogueira Jr.
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

2016-04-01 Thread Luiz Carlos L. Nogueira Jr.
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

2016-04-01 Thread Flavio Henrique Araque Gurgel

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

2016-04-04 Thread Luiz Carlos L. Nogueira Jr.
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

2016-04-04 Thread Euler Taveira
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

2016-04-05 Thread Luiz Carlos L. Nogueira Jr.
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

2016-04-05 Thread Flavio Henrique Araque Gurgel

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

2016-04-05 Thread Euler Taveira
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

2016-04-06 Thread Luiz Carlos L. Nogueira Jr.
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

2016-04-06 Thread Rafael Fialho
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

2016-04-06 Thread Luiz Carlos L. Nogueira Jr.
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

2016-04-06 Thread Flavio Henrique Araque Gurgel

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

2016-04-06 Thread Luiz Carlos L. Nogueira Jr.
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

2016-04-14 Thread Luiz Carlos L. Nogueira Jr.
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