Re: [pgbr-geral] Banco de contigencia

2012-09-30 Por tôpico Matheus de Oliveira
2012/9/25 Tiago Valério tiagosvale...@gmail.com

 Fabio

 Uma pergunta, existe a possibilidade de nós sabermos através dos
 metadados, se é necessário reduzir ou aumentar o fillfactor, ou seja, se
 temos uma analise de quanto  desfragmentado esta um índice  ou uma linha
 da tabela.
 É possível, não sei se é uma viagem minha talvez.


Sei que perguntou pro Telles, mas vai lá...

Pesquise por postgresql table bloat no Google mesmo [1]. Tem vários
artigos em blogs e a entrada no Wiki [2] com uma consulta boa para ter-se
uma noção de como anda a coisa, e se quiser ter mais detalhes, temos
extensões que ajudam [3] e [4].

E de uma forma mais rápida, podemos consultar a pg_stat_user_tables nas
colunas n_live_tup e n_dead_tup.

[1] https://www.google.com.br/search?q=postgresql+table+bloat
[2] http://wiki.postgresql.org/wiki/Show_database_bloat
[3] http://www.postgresql.org/docs/9.1/static/pgstattuple.html
[4] http://www.postgresql.org/docs/9.1/static/pgfreespacemap.html

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados PostgreSQL
Dextra Sistemas - MPS.Br nível F!
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] Banco de contigencia

2012-09-25 Por tôpico Fábio Telles Rodriguez
Em 24 de setembro de 2012 12:16, Antonio Cesar
cgcesarsoa...@gmail.comescreveu:

  Tipo esses onde precisei remover uma CONSTRAINT e recria-la.

 START TRANSACTION;
 ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
 ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida_chaces UNIQUE
 (chave_acesso);
 COMMIT;


Se você está tendo de reconstruir sua chave todo dia, algo ruim pode estar
ocorrendo, como um número muito grande de DELETEs ou UPDATEs. Se for um
número grande de UPDATEs, recomendo mexer no 'fillfactor' da tabela,
http://www.postgresql.org/docs/9.2/static/sql-createtable.html#SQL-CREATETABLE-STORAGE-PARAMETERS
.
Se o problema forem DELETEs, então recomendo pensar no particionamento da
tabela em questão.

Deixar uma tabela esburacada leva a este tipo de solução: recriar índices.

Outra coisa: Não seria melhor trabalhar apenas com o REINDEX da tabela ao
invés de destruir e recriar a constraint?

Meus 2 centavos.

[]s
-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// http://www.midstorm.org/~telles/http://tellesr.wordpress.com
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


Re: [pgbr-geral] Banco de contigencia

2012-09-25 Por tôpico Tiago Valério
Fabio

Uma pergunta, existe a possibilidade de nós sabermos através dos metadados,
se é necessário reduzir ou aumentar o fillfactor, ou seja, se temos uma
analise de quanto  desfragmentado esta um índice  ou uma linha da tabela.
É possível, não sei se é uma viagem minha talvez.


Em 25 de setembro de 2012 07:28, Fábio Telles Rodriguez 
fabio.tel...@gmail.com escreveu:



 Em 24 de setembro de 2012 12:16, Antonio Cesar 
 cgcesarsoa...@gmail.comescreveu:

  Tipo esses onde precisei remover uma CONSTRAINT e recria-la.

 START TRANSACTION;
 ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
 ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida_chaces UNIQUE
 (chave_acesso);
 COMMIT;


 Se você está tendo de reconstruir sua chave todo dia, algo ruim pode estar
 ocorrendo, como um número muito grande de DELETEs ou UPDATEs. Se for um
 número grande de UPDATEs, recomendo mexer no 'fillfactor' da tabela,
 http://www.postgresql.org/docs/9.2/static/sql-createtable.html#SQL-CREATETABLE-STORAGE-PARAMETERS
  .
 Se o problema forem DELETEs, então recomendo pensar no particionamento da
 tabela em questão.

 Deixar uma tabela esburacada leva a este tipo de solução: recriar índices.

 Outra coisa: Não seria melhor trabalhar apenas com o REINDEX da tabela ao
 invés de destruir e recriar a constraint?

 Meus 2 centavos.

 []s
 --
 Atenciosamente,
 Fábio Telles Rodriguez
 blog: http:// http://www.midstorm.org/~telles/
 http://tellesr.wordpress.com
 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] Banco de contigencia

2012-09-24 Por tôpico Antonio Cesar

Bom dia pessoal.
Estou desenvolvendo um sistema de ECF, onde o supermercado funciona 24 
horas por dia e quando preciso de fazer manutenção no banco preciso 
parar o banco.

Tem alguma maneira de efetuar esta manuteção com o banco em produção?

Pensei em manter um banco de contigencia, os usuario passaria a gravar 
os dados nele e depois replicar no servidor central, tem como?
attachment: cgcesarsoares.vcf___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Banco de contigencia

2012-09-24 Por tôpico Itamar Reis Peixoto
2012/9/24 Antonio Cesar cgcesarsoa...@gmail.com:
 Bom dia pessoal.
 Estou desenvolvendo um sistema de ECF, onde o supermercado funciona 24 horas
 por dia e quando preciso de fazer manutenção no banco preciso parar o banco.
 Tem alguma maneira de efetuar esta manuteção com o banco em produção?

 Pensei em manter um banco de contigencia, os usuario passaria a gravar os
 dados nele e depois replicar no servidor central, tem como?

bucardo ?



-- 


Itamar Reis Peixoto
http://www.quebarato.com.br/perfil/itamarjp
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Banco de contigencia

2012-09-24 Por tôpico Euler Taveira
On 24-09-2012 09:00, Antonio Cesar wrote:
 Estou desenvolvendo um sistema de ECF, onde o supermercado funciona 24 horas
 por dia e quando preciso de fazer manutenção no banco preciso parar o banco.
 Tem alguma maneira de efetuar esta manuteção com o banco em produção?
 
Parar o banco? Pra que? Todas as manutenções no PostgreSQL são online.

 Pensei em manter um banco de contigencia, os usuario passaria a gravar os
 dados nele e depois replicar no servidor central, tem como?
 
Tem mas isso vai de dar a maior dor de cabeça. Só recomendo se for um ambiente
bem controlado e _realmente_ haja necessidade de parar o servidor principal
(hoje isso só é necessário quando precisamos atualizar entre versões novas).


-- 
   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] Banco de contigencia

2012-09-24 Por tôpico Danilo Silva
Em segunda-feira, 24 de setembro de 2012, Antonio Cesar
cgcesarsoa...@gmail.com escreveu:
 Bom dia pessoal.
 Estou desenvolvendo um sistema de ECF, onde o supermercado funciona 24
horas por dia e quando preciso de fazer manutenção no banco preciso parar o
banco.
 Tem alguma maneira de efetuar esta manuteção com o banco em produção?


Quais manutenções? Vacuum, reindex podem ser feitos online.
a gravar os dados nele e depois replicar no servidor central, tem como?

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Banco de contigencia

2012-09-24 Por tôpico Antonio Cesar

Tipo esses onde precisei remover uma CONSTRAINT e recria-la.

START TRANSACTION;
ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida_chaces UNIQUE 
(chave_acesso);

COMMIT;

Em 24/09/2012 12:14, Danilo Silva escreveu:



Em segunda-feira, 24 de setembro de 2012, Antonio 
Cesarcgcesarsoa...@gmail.com mailto:cgcesarsoa...@gmail.com escreveu:

 Bom dia pessoal.
 Estou desenvolvendo um sistema de ECF, onde o supermercado funciona 
24 horas por dia e quando preciso de fazer manutenção no banco preciso 
parar o banco.

 Tem alguma maneira de efetuar esta manuteção com o banco em produção?


Quais manutenções? Vacuum, reindex podem ser feitos online.
a gravar os dados nele e depois replicar no servidor central, tem como?



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


attachment: cgcesarsoares.vcf___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Banco de contigencia

2012-09-24 Por tôpico Tiago Adami
Em 24 de setembro de 2012 12:16, Antonio Cesar
cgcesarsoa...@gmail.com escreveu:
 Tipo esses onde precisei remover uma CONSTRAINT e recria-la.

 START TRANSACTION;
 ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
 ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida_chaces UNIQUE
 (chave_acesso);
 COMMIT;


Como diria nosso amigo Dutra (que sempre está aí para lembrar os
desavisados): Evite o top-posting. Escreva sempre abaixo das
mensagens anteriores e preferencialmente em texto plano (sem
formatação HTML).

Respondendo à sua dúvida: como é um supermercado 24hs, em conformidade
com as leis do PAF-ECF cada caixa (ou ponto-de-venda) precisa ter um
banco de dados independente e local para funcionar sem rede
(inclusive durante a homologação eles arrancam o cabo de rede da
máquina para ver como o aplicativo se comporta). Logo, você deverá
programar atualizações de 1 ou 2 caixas por vez (depende do número
total) para não ter que parar toda a loja. Não tem como parar o banco
para fazer isso e não precisa de um banco para contingência, pelo
menos não para este cenário.

-- 
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


Re: [pgbr-geral] Banco de contigencia

2012-09-24 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2012/9/24 Antonio Cesar cgcesarsoa...@gmail.com:
 Tipo esses onde precisei remover uma CONSTRAINT e recria-la.

 START TRANSACTION;
 ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
 ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida_chaces UNIQUE
 (chave_acesso);
 COMMIT;

Maravilha, sem interrupção!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Banco de contigencia

2012-09-24 Por tôpico Euler Taveira
On 24-09-2012 12:16, Antonio Cesar wrote:
 Tipo esses onde precisei remover uma CONSTRAINT e recria-la.
 
Mas isso tá levando quanto tempo? Cadê a janela de manutenção (ou pelo menos
um período onde há baixo uso do sistema)?

 START TRANSACTION;
 ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
 ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida_chaces UNIQUE
 (chave_acesso);
 COMMIT;
 
Você não disse a versão que está utilizando mas a partir do 9.1 você pode
diminuir o tempo desse tipo de transação utilizando um índice preexistente e
utilizá-lo como restrição UNIQUE.

CREATE UNIQUE INDEX CONCURRENTLY fooi ON nfe_emitida(chave_acesso);

BEGIN;
ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida UNIQUE USING INDEX fooi;
ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
COMMIT;


-- 
   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


Re: [pgbr-geral] Banco de contigencia

2012-09-24 Por tôpico Euler Taveira
On 24-09-2012 14:22, Guimarães Faria Corcete DUTRA, Leandro wrote:
 2012/9/24 Antonio Cesar cgcesarsoa...@gmail.com:
 Tipo esses onde precisei remover uma CONSTRAINT e recria-la.

 START TRANSACTION;
 ALTER TABLE nfe_emitida DROP CONSTRAINT uk_nfe_emitida_chaces;
 ALTER TABLE nfe_emitida ADD CONSTRAINT uk_nfe_emitida_chaces UNIQUE
 (chave_acesso);
 COMMIT;
 
 Maravilha, sem interrupção!
 
Não! AccessExclusiveLock até que ele termine de criar o índice em chave_acesso.


-- 
   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