Re: [pgbr-geral] restore baseado em cópia do hd

2018-04-18 Por tôpico Alessandro Lima
>>Só precisa conferir as permissões.
Vou conferir as permissões, muito obrigado.

>>PS: Não te esquece de se cadastrar na lista nova!!!
Acabei de me inscrever na nova lista.

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] restore baseado em cópia do hd

2018-04-18 Por tôpico Alessandro Lima
Boa tarde,

Preciso restaurar uma base de dados a partir de uma cópia dos arquivos do
sistema operacional.
Gostaria de confirmar se precisa ser o mesmo sistema operacional e mesma
versão do postgresql?
Basta ser Windows 64bits, ou tem que ser exatamente Windows 2012 R2 64bits
como era o caso.
Basta ser 9.4, posso pegar a última 9.4.17.


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] mover esquema para novo tablespace

2018-03-26 Por tôpico Alessandro Lima
bom dia a todos,

Preciso mover meu esquema de audit para outra partição por motivos de
espaço em disco, gostaria de confirmar se basta executar as queries abaixo:
- create tablespace ts2 owner postgres location '/data/table_space_2';
- alter schema audit set tablespace ts2;

Desta forma todas tabelas, índices, etc.. que estão no esquema serão
transferidos para a outra partição?

Obs.: Ubuntu 16.04 Postgres 9.4.15


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] ping

2018-02-23 Por tôpico Alessandro Lima
PING listas.postgresql.org.br (45.33.72.210): icmp_seq=12 ttl=52 time=174
1 packet transmitted, 1 received, 0% packet loss, time 1day
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] "orientado a banco de dados"

2018-01-03 Por tôpico Alessandro Lima
>>Os problemas gerais seriam a briga com o time de dev (a pratica de logica
no DB é abominada pela maioria, tipo 99%)
Realmente a maioria dos desenvolvedores é contra, mas faço parte do 1%
Prefiro toda regra de negócio no banco de dados, priorizando a performance
Utilizando o servidor de aplicação (java/scala/python) apenas como
"bypass", realizando apenas a autenticação.

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

[pgbr-geral] ignorar trigger de origem cascade

2017-05-08 Por tôpico Alessandro Lima
Boa tarde,

Estou criando triggers para indexar (sincronizar) com o elasticsearch,
Exemplo:
Documento json {pessoa:1,filiacao:[{pessoa:2}.{pessoa:3}]}
Tabela pessoa (principal), Tabela filiacao (subordinada) com foreign key
cascade para pessoa

Tenho uma trigger ao deletar a pessoa, retiro o documento do elasticsearch,
e outra trigger ao deletar filiacao, atualizo o documento da pessoa
referente aquele pai/mae

O problema é que o cascade realiza primeiro o delete na tabela pessoa, ao
tentar realizar o delete na tabela filiacao (cascade), não consegue
atualizar o documento no elasticsearch pois ele não existe mais.

Existe alguma maneira de identificar a origem da trigger como sendo de um
cascade, para que eu possa ignorar a trigger/function?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] alerta de tentativas de conexão

2017-03-02 Por tôpico Alessandro Lima
>> Pode ser monitorado configurando alguns detalhes dos logs no PostgreSQL:
Sim, eu já monitoro as conexões pelo pgBadger,
mas o que eu queria era ser notificado se o número de tentativas falhas
atingisse determinado valor,
evitando ficar consultando o log ou pgBadger manualmente.
Caso não tenha nenhuma ferramenta neste sentido, vou criar um shell script
para isso.



Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] alerta de tentativas de conexão

2017-03-02 Por tôpico Alessandro Lima
Bom dia,

Gostaria de saber se existe alguma ferramenta para alertar/monitorar
tentativas (ataques) de conexão ao banco de dados.


Alessandro Lima
email grandegoia...@gmail.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] Perder Dados

2017-02-06 Por tôpico Alessandro Lima
um log como o https://wiki.postgresql.org/wiki/Audit_trigger_91plus
ajudaria muito nesses casos

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Seguencia de logs no audit trigger

2016-11-23 Por tôpico Alessandro Lima
>>Jovem, execute o exemplo abaixo e vc entenderá a diferença:
Percebi que o current_timestamp sempre pega o mesmo horário que seria
quando iniciei a transação
e que o clock_timestamp() sempre pega o horário atual realmente.

Mas continuo sem entender, pois no caso que relatei, tanto
clock_timestamp(), quanto current_timestamp, quanto statement_timestamp()
estão exibindo o mesmo horário

Percebo que a transação 7362816 com event_id = 93986673 foi realizada antes
das demais,
apesar do current_timestamp, clock_timestamp() e statement_timestamp()
informarem o contrário,
pois o valor 77141 que foi alterado nesta transação é registrado como valor
antigo nas demais transações
https://drive.google.com/file/d/0B47dJuZYaLMaYU9vQWIwSFphcW8/view?usp=sharing
obs.: valor_antigo foi retirado do row_data (OLD.*) e novo_valor foi
retirado do changed_fields (NEW.*)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Seguencia de logs no audit trigger

2016-11-22 Por tôpico Alessandro Lima
Boa tarde,

Costumo pesquisar em meus logs do Audit Trigger ordenando por
action_tstamp_stm para ver a sequencia de alterações em um registro.
Mas percebi que em alguns casos os dados alterados estavam fora da ordem
cronológica, constatei então que a ordem sequencial da chave primária
event_id e da transaction_id não estão coerentes com a ordem crescente das
datas, por exemplo:
event_id transaction_id action_tstamp_tx action_tstamp_stm action_tstamp_clk
93986673 7362816 2016-11-17 09:17:59.453002-02 2016-11-17
09:17:59.460058-02 2016-11-17
09:17:59.460938-02
93986846 7362848 2016-11-17 09:11:58.574255-02 2016-11-17
09:11:58.57457-02 2016-11-17
09:11:58.575121-02
93986858 7362866 2016-11-17 09:12:21.143129-02 2016-11-17
09:12:21.143443-02 2016-11-17
09:12:21.166096-02
93986935 7362985 2016-11-17 09:13:12.403124-02 2016-11-17
09:13:12.411809-02 2016-11-17
09:13:12.412167-02

Exemplo da function que captura os logs:
audit_row = ROW(
nextval('audit.logged_actions_event_id_seq'),-- event_id
current_timestamp,-- action_tstamp_tx
statement_timestamp(),-- action_tstamp_stm
clock_timestamp(),-- action_tstamp_clk
txid_current(),   -- transaction ID

Alguém sabe me explicar o que está acontecento?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Alessandro Lima
>>O que é mais indicado, gravar arquivos em file system ou no próprio banco
?
Também tive essa dúvida e decidi por utilizar o melhor de ambos,
Para Inserir/Alterar/Excluir gravo no banco de dados, pois tenho backup
unificado e controle de transação.
Para Visualizar utilizo o servidor web nginx (funciona como cache), pois
não sobrecarrego o banco de dados.

>>Sendo file system vocês tem sugestão de ferramentas ?
Como minha aplicação fica no mesmo servidor que o banco de dados, utilizo a
biblioteca Apache FileUtils.

Atenciosamente,
Alessandro Lima

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

Re: [pgbr-geral] Tabela não aceita criação de trigger

2016-09-23 Por tôpico Alessandro Lima
>>SELECT age(now(), max(prepared)) FROM pg_prepared_xacts;
Muito obrigado Matheus, vou providenciar esse monitoramento.

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Tabela não aceita criação de trigger

2016-09-20 Por tôpico Alessandro Lima
>>Como sabe que esse commit prepared é a causa de seu problema?
meio que intuição, rsrsrs

rodei o comando: select database, gid, prepared from pg_prepared_xacts
e nele o campo prepared mostrava data de fevereiro de 2016
executei o comando: rollback prepared
'4871251_EF6eOp5vdGltaXplLXBjLHNlcnZlcixQMTAw_b3RpbWl6ZS1wYyxzZXJ2ZXIsUDEwMCwB'
e resolveu o problema, trigger criada com sucesso.

Obrigado a todos pela ajuda.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tabela não aceita criação de trigger

2016-09-20 Por tôpico Alessandro Lima
>>Eu gostaria de ver todas as colunas, não apenas a consulta.

datid, datname, pid, usesysid, usename, application_name, client_addr,
client_hostname, client_port, backend_start, xact_start, query_start,
query_change, waiting, state, backend_xid, backend_xmin, query
2694156;"VTRBD";8641;10;"postgres";"";"192.168.2.241";"";59608;"2016-09-20
09:22:30.220249-03";"";"2016-09-20 10:19:49.880087-03";"2016-09-20
10:19:49.880977-03";f;"idle";;;"COMMIT PREPARED
'4871251_BBMBANZmB0d2dHJ1bS1hcHAtMDEuaW4udnRydW0uY29tLmJyLHNlcnZlcixQMTAw_dnRydW0tYXBwLTAxLmluLnZ0cnVtLmNvbS5icixzZXJ2ZXIsUDEwMCwA'"
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Tabela não aceita criação de trigger

2016-09-20 Por tôpico Alessandro Lima
>>Qual a saída de:
>>SELECT * FROM pg_stat_activity;
>>?

"COMMIT PREPARED
'4871251_SvUAANZmB0d2dHJ1bS1hcHAtMDEuaW4udnRydW0uY29tLmJyLHNlcnZlcixQMTAw_dnRydW0tYXBwLTAxLmluLnZ0cnVtLmNvbS5icixzZXJ2ZXIsUDEwMCwA'"

Deve ser isso, utilizo controle de transação em duas bases de dados.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Tabela não aceita criação de trigger

2016-09-20 Por tôpico Alessandro Lima
Bom dia,

Tenho um postgresql 9.4.4 em linux centos 64 bits em produção.

Estou implementando o "audit trigger" e em apenas uma das tabelas não
consigo criar as triggers:

select audit.audit_table('tabela');

o "CREATE TRIGGER" fica rodando e nunca termina, mas aparentemente não
consigo encontrar nenhum bloqueio para justificar essa demora.


Alguém já passou por algo parecido? será que tenho que reiniciar o banco?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Validar valor do work_mem

2016-09-02 Por tôpico Alessandro Lima
>>Vê sim.
>>Exemplo, quando aparece algo como:
>>  Sort Method: quicksort  Memory: 25kB

Agora consegui ver o Sort Method, é que tinha testado com order by em um
indice.

Fiz um teste aumentando o tamanho da consulta, para ver até onde era usado
o work_mem:
-com limit 56000, o Sort Method utiliza cerca de 17MB "Memory" e é
executado em 1,2s
-com limit 57000, o Sort Method utiliza cerca de 683MB "Merge Disk" e é
executado em 9s
considerando meu work_mem = 32MB, não deveria utilizar o disco apenas
depois de 32MB?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Validar valor do work_mem

2016-09-02 Por tôpico Alessandro Lima
>>EXPLAIN (analyze, timing, buffers) SELECT...
>>O explain mostra quanto de memória a consulta usa e é bem preciso.

Pelo que entendi, com esse explain posso ver o uso de memória
"shared_buffers"
e não o "work_mem", correto?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] FDW entre bases do mesmo cluster

2016-06-28 Por tôpico Alessandro Lima
ops, favor desconsiderar a pergunta acima.

Encontrei a solução:
set search_path to esquema1,esquema2.
e o interessante é que mesmo que tenha tabelas com nomes iguais, ele busca
pela ordem definida pelo 'set search_path'
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] FDW entre bases do mesmo cluster

2016-06-28 Por tôpico Alessandro Lima
>>Se a isolação lógica imposta pelo uso de esquemas é suficiente para você,
eu diria
>>para ir direto e usar um só banco, você terá sempre planos ótimos.
Se eu transformar cada base em um esquema,
para não ter que alterar todos os sqls existentes da aplicação (pois não
uso ORM),
existe a possibilidade de continuar usando os nomes das tabelas sem ter que
especificar o nome do esquema?
pois as duas bases não possuem nomes de tabelas duplicados,
em vez de fazer 'select nf.id from esquema1.cliente cli join
esquema2.notafiscal nf on nf.cliente = cli.id',
poderia deixar apenas 'select nf.id from cliente cli join notafiscal nf on
nf.cliente = cli.id' ?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] FDW entre bases do mesmo cluster

2016-06-28 Por tôpico Alessandro Lima
Bom dia,

Tenho uma aplicação que utiliza duas (multitenancy) bases postgresql 9.4,
a princípio eram em servidores diferentes, agora estão no mesmo servidor,
no mesmo cluster.
Compensa mais eu migrar cada uma destas bases para um esquema de um mesmo
banco, ou a diferença de perfomance por estar no mesmo banco seria pequena
se eu apenas utilizar FDW?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] invalid page in block of relation base

2016-06-23 Por tôpico Alessandro Lima
>>Foi feito alguma mudança de plano que aumentou a quantidade de memória
>>e/ou o número de vCpus? Se isso ocorreu, o servidor (ou melhor, a VM)
>>foi desligada e religada ou a mudança foi "on-the-fly" e o SO ainda
>>não foi reiniciado?
Apenas Reinstalei o sistema operacional, não alterou o plano.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] invalid page in block of relation base

2016-06-20 Por tôpico Alessandro Lima
>>Para realizar a migração entre versões utilizando o pg_dump é
recomendável utilizar ambos binários da versão de destino, no caso,
>>utilizar o pg_dump da 9.4.8, e não da 9.3.
Fiz desta forma porque o servidor de destino e origem eram o mesmo, fiz
dump com 9.3, reinstalei sistema operacional e fiz restore com 9.4.8
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] invalid page in block of relation base

2016-06-20 Por tôpico Alessandro Lima
>>Você tentou a restauração novamente? O erro é igual?
Não tentei, porque precisava colocar a aplicação em produção novamente,
como a tabela que aparentemente estava corrompida era apenas de log, e eu
já tinha restaurado ela no meu computador, então deixei assim mesmo em
produção.

>>Pode ser que seu servidor esteja com defeito.
>>Sugiro fazer um memtest urgente nessa máquina e, depois, restaurar o dump
novamente.
vou verificar um horário para executar esse memtest, o servidor é da
locaweb (CLOUD PRO)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] invalid page in block of relation base

2016-06-20 Por tôpico Alessandro Lima
>>Você tentou fazer o dump e o restore utilizando os binários da 9.4?
não tentei fazer o dump com os binários do 9.4, mas já restaurei o dump
feito pelo 9.3 em outro computador, apenas no servidor de produção que
apresentou essa falha.
Obs.: agora não tem mais como fazer o dump utilizando o 9.4 pois o servidor
já foi formatado.

>>A versão é 9.4.X ?
9.4.8
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] invalid page in block of relation base

2016-06-19 Por tôpico Alessandro Lima
Migrei uma base de dados de um postgres 9.3 debian 6 64 bits para um
postgres 9.4.8 debian 8.4 64bits, utilizei o pg_dump do 9.3 e o pg_restore
do 9.4

ao restaurar no servidor de produção aconteceu um erro para cada índíce da
tabela audit.logged_actions_2015_10 (log trigger particionado por mes)
Erro: invalid page in block 9342 of relation base/16385/16585

Ocasionando a não criação dos índices desta tabela e percebi que só consigo
fazer um select nesta tabela até o registro 57 (limit 57), acima disto é
exibio o erro "invalid page..."

restaurei esta mesma base em um postgres 9.4 windows 64bits e não
apresentou nenhum problema

pesquisando na internet parece que existe um bug sobre isso:
https://groups.google.com/forum/#!msg/mailing.database.pgsql-bugs/ZrT7WuxSZKA/OgpsSE3nCwAJ

Alguém já passou por algo parecido ou tem alguma dica para me ajudar, por
favor.

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] contraint already exists (mas não existe!)

2016-04-25 Por tôpico Alessandro Lima
>>Pode ser esse o problema, verifique se o PgAdmin está usando os binários
na mesma versão que a do seu servidor

Está usando o 9.4
C:\Program Files\PostgreSQL\9.4\bin

Mas a partir de agora vou sempre usar o binário do próprio servidor.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] contraint already exists (mas não existe!)

2016-04-25 Por tôpico Alessandro Lima
>>Você utilizou versões compatíveis de pg_dump + pg_restore com seu
servidor?

Fiz o dump e o restore pelo pgadmin 1.20.0 (windows)
ambos os servidores do dump e do restore são linux e utilizam postgresql 9.4
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] contraint already exists (mas não existe!)

2016-04-25 Por tôpico Alessandro Lima
>>Poderia conectar no psql e executar `\d nome_da_tabela` de uma que está
com problema?

Um exemplo de tabela com problema, com o comando "\d banco" apresenta
banco_pkey como UNIQUE:
Indexes:
"banco_pkey" UNIQUE, btree (codigo)

Já numa tabela sem problemas apresenta como PRIMARY KEY:
Indexes:
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] contraint already exists (mas não existe!)

2016-04-23 Por tôpico Alessandro Lima
Obrigado pelas dicas.

Não tenho mais o log do restore, mas percebi que não estava deixando
incluir e/ou excluir estas constraints devido existir um indíce para a
chave primária, ao exlcuir o índice foi possível incluir a constraint e
depois recriar o índice.

O problema é que vai ser trabalhoso corrigir isso para centenas de tabelas.

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] contraint already exists (mas não existe!)

2016-04-20 Por tôpico Alessandro Lima
Boa tarde,

Restaurei uma base de dados em Postgresql 9.4 64bits linux
Hoje percebi que está faltando várias constraints PRIMARY KEY
o estranho é que ao tentar adicionar a constraint, é informado que já existe
se tento excluir a constraint, é informado que não existe

Alguém já passou por isso?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] PGConfig

2016-03-19 Por tôpico Alessandro Lima
Para 4GB 100 connections 9.5.x o pgconfig sugere 1GB shared_buffers, 3GB
effective_cache_size e 41MB de work_mem

Minha dúvida é se as 100 conexões estiverem sendo usada, serão usados só de
work_mem 4GB (41MB x 100),
não sobrando nada para o sistema operacional, shared_buffers e
maintenance_work_mem.
Minha análise está correta?

Atenciosamente,

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

[pgbr-geral] trigger for each statement

2016-02-03 Por tôpico Alessandro Lima
boa tarde,

Utilizo o audit trigger(1) a algum tempo, mas agora surgiu uma dúvida,
toda tabela auditada possui duas trigger, uma for each row e outra for each
statement
mas nunca tive registros gravados pela trigger for each statement, onde a
coluna statement_only ficaria true
Alguém sabe me dizer se é necessária essa trigger for each statement?
qual a finalidade dela?


(1) https://wiki.postgresql.org/wiki/Audit_trigger_91plus


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

[pgbr-geral] prepared statements

2016-01-14 Por tôpico Alessandro Lima
boa noite,

Pelo que entendi uma das vantagens de usar prepared statements é que o
parse é realizado apenas uma vez para consultas idênticas,
gostaria de saber se é nomal ter no log todos estes registros de bind
também?

2016-01-13 14:17:04 BRST [10225]: [4-1] LOG:  duration: 33570.858 ms
 execute : ...
2016-01-13 14:17:04 BRST [10229]: [4-1] LOG:  duration: 32828.979 ms
 execute : ...
2016-01-13 14:17:05 BRST [10228]: [4-1] LOG:  duration: 33158.300 ms
 execute : ...
2016-01-13 14:17:05 BRST [9522]: [10-1] LOG:  duration: 33564.056 ms
 execute : ...
2016-01-13 14:17:05 BRST [10227]: [4-1] LOG:  duration: 32830.827 ms
 execute : ...
2016-01-13 14:17:07 BRST [10233]: [4-1] LOG:  duration: 33707.367 ms
 execute : ...
2016-01-13 14:17:08 BRST [10232]: [4-1] LOG:  duration: 34604.249 ms
 execute : ...
2016-01-13 14:17:09 BRST [10235]: [4-1] LOG:  duration: 34825.490 ms
 execute : ...
2016-01-13 14:17:11 BRST [10234]: [4-1] LOG:  duration: 35785.093 ms
 execute : ...
2016-01-13 14:17:12 BRST [10236]: [4-1] LOG:  duration: 36861.005 ms
 execute : ...
2016-01-13 14:17:14 BRST [10231]: [4-1] LOG:  duration: 37549.028 ms
 execute : ...
2016-01-13 14:17:20 BRST [10224]: [5-1] LOG:  duration: 17592.364 ms  bind
: ...
2016-01-13 14:17:23 BRST [10239]: [5-1] LOG:  duration: 19288.528 ms  bind
: ...
2016-01-13 14:17:23 BRST [10225]: [5-1] LOG:  duration: 19133.306 ms  bind
: ...
2016-01-13 14:17:24 BRST [10238]: [3-1] LOG:  duration: 20334.185 ms  bind
: ...
2016-01-13 14:17:25 BRST [10308]: [3-1] LOG:  duration: 20392.145 ms  bind
: ...
2016-01-13 14:17:26 BRST [10226]: [5-1] LOG:  duration: 20771.352 ms  bind
: ...
2016-01-13 14:17:26 BRST [10229]: [5-1] LOG:  duration: 20935.923 ms  bind
: ...
2016-01-13 14:17:27 BRST [10240]: [3-1] LOG:  duration: 21022.901 ms  bind
: ...
2016-01-13 14:17:29 BRST [9522]: [11-1] LOG:  duration: 20882.280 ms  bind
: ...
2016-01-13 14:17:30 BRST [10320]: [3-1] LOG:  duration: 22028.661 ms  bind
: ...
2016-01-13 14:17:30 BRST [10318]: [3-1] LOG:  duration: 22472.868 ms  bind
: ...
2016-01-13 14:17:30 BRST [10327]: [3-1] LOG:  duration: 2535.394 ms  parse
: ...

exite algum timeout para que a query realize um novo parse?

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

Re: [pgbr-geral] Tabela gigante - Melhoria

2015-12-14 Por tôpico Alessandro Lima
Também tive esse problema com a tabela logged_actions do "audit trigger".
Tinha problemas de performance com tabela de mais de 20GB.
A solução foi particionar(1) a tabela por mês.

(1) http://www.postgresql.org/docs/9.4/static/ddl-partitioning.html


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com

Em 14 de dezembro de 2015 02:34, drum.lu...@gmail.com <drum.lu...@gmail.com>
escreveu:

> Oi pessoal...
> Eu tenho uma tabela de 8 GB, chamada feedlog.
>
> Nesta tabela eu tenho o historico do usuario dentro do sistema, TUDO o que
> ele faz fica gravado ali.
> Porem, para melhorar a performance eu gostaria de mudar ela.
>
> Talvez, criar uma tabela "feedlog-history" ou ate mesmo "feedlog-2014' e
> mover dados antigos da original para esta? Tornaria maior?
>
> Enfim.. o que voces aconselhariam?
>
> *Aguns dados:*
>
> Size: 8 GB
>
> relname  | relkind |  reltuples  | relpages
> ---+-+-+--
>  feedlog| r   | 6.60508e+07 |  9974857
>
>
>
> ___
> 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] uncategorized SQLException

2015-11-10 Por tôpico Alessandro Lima
>>Isso tem cara de ser prepared statement? ​Tua aplicação trabalha com isso?
Sim, também apresenta esta mensagem:
PreparedStatementCallback; uncategorized SQLException for SQL [SELECT *
FROM...]

Obs.: já pesso desculpas antecipadamente pelo "SELECT * FROM" !!!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] uncategorized SQLException

2015-11-10 Por tôpico Alessandro Lima
Boa tarde,

Estou me deparando com um erro ao logar na minha aplicação na seguinte
situação:

Aplicação java web com pool de conexões C3P0
Postgresql (alguns clientes 9.3 outros 9.4)

Ao executar algum ALTER TABLE ADD COLUMN... (pelo pgadmin, sem conectar
pelo pool), e tentar logar na aplicação, é apresentado o seguinte erro:
SQL state [0A000]; error code [0]; ERROR: cached plan must not change
result type

Preciso então reiniciar a aplicação para obter novas conexões e conseguir
logar.
Qual a melhor forma de evitar este tipo de falha?

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

Re: [pgbr-geral] Consultar valores através da tabela de sistema.

2015-10-27 Por tôpico Alessandro Lima
Este SQL gera dinamicamente o select desejado:

SELECT 'SELECT MAX(data) AS maior_data FROM ('||array_to_string(array(
SELECT 'SELECT max('||column_name||') AS data FROM '||table_name
FROM information_schema.columns
WHERE table_schema = 'public'
AND column_name   = 'data'
),' union ')||') as t' AS selects;


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

Re: [pgbr-geral] reset do transaction_id

2015-09-03 Por tôpico Alessandro Lima
>>Se o transaction_id que você se refere foi recuperado pelo resultado da
função txid_current(), então ao restaurar um dump este vai >>naturalmente
usar o que está definido na nova instância. De qualquer forma você não deve
considerar o txid_current() para identificação >>dessa forma, porque esse
valor é circular, depois de chegar à 2^31 irá voltar à zero (na verdade é 3
ou 4, não lembro bem).
sim, realmente estou usando o txid_current()

Utilizo o transaction_id para consultar no log todas as operações
realizadas na mesma transação.
Teria alguma forma de definir o valor inicial do txid_current() ao realizar
o pg_restore?

>>Colocando de forma simples, serão armazenadas informações lógicas (daí
"backup lógico")
Então utilizando (pg_basebackup + xlogs) o transaction_id será mantido?

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] reset do transaction_id

2015-09-03 Por tôpico Alessandro Lima
Obrigado Matheus, vou seguir suas sugestões
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] reset do transaction_id

2015-09-03 Por tôpico Alessandro Lima
Boa tarde,

Utilizo o Audit Trigger e percebi que ele gerou dois registros de datas bem
diferentes com o mesmo transaction_id.
Obs.: Recentemente foi feito um pg_dump e pg_restore quando trocamos o
servidor.

Gostaria de saber se o pg_restore reseta o transaction_id, e o que mais ele
pode resetar?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Exclusão de logs antigos

2015-07-28 Por tôpico Alessandro Lima
Boa tarde a todos,
Procurei na internet mas não encontrei nenhuma configuração que deixe a
pasta de logs pg_log apenas com determinado número de arquivos ou
determinado tamanho em GB.
Fiz alguns testes com ROTATION, mas os arquivos antigos nunca são apagados.

Tem alguma forma de configurar o postgres para isso? ou vou ter que agendar
um script para excluir os logs antigos

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Exclusão de logs antigos

2015-07-28 Por tôpico Alessandro Lima
Muito obrigado pela ajuda, o %w faz a mágica que queria.


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


[pgbr-geral] query com limit muito mais lenta

2015-04-07 Por tôpico Alessandro Lima
Bom dia,

Segue link do explain analyze de uma consulta sem o limit:
http://explain.depesz.com/s/eRj

A consulta sem limit retorna cerca de 5000 registros em 3 segundos
A consulta com limit 60 demora 20 minutos

Já rodei o analyze e não melhorou.

Alguma dica?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] query com limit muito mais lenta

2015-04-07 Por tôpico Alessandro Lima
Antes de continuar, todos estes LEFT JOINs estão certos? A intenção é
usá-los mesmo?
Sim, a intenção é essa.

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] query com limit muito mais lenta

2015-04-07 Por tôpico Alessandro Lima
Cadê a consulta?

SELECT prospects.nome AS nomeProspect, prospects.codigo AS codigoProspect,
prospects.dataCadastro AS dataCadastro, prospects.telefoneResidencial AS
telRes, prospects.telefoneComercial AS telComer, prospects.celular AS cel,
prospects.telefoneRecado AS telRec, prospects.emailPrincipal AS email,
interacaoworkflow.datainicio AS dataContato, interacaoworkflow.observacao
AS observacao, situacaoprospectpipeline.controle AS
controleSituacaoProspectPipeline, turma.identificadorturma AS turma,
curso.nome AS nomeCurso, curso.codigo AS codigoCurso, consultorPadrao.nome
AS nomeConsultorPadrao, pessoaResponsavel.nome AS nomeResponsavel,
matricula.matricula, c3.nome AS cursoMatriculado, ( SELECT count (
matricula.matricula ) FROM matricula WHERE aluno = pessoaProspect.codigo
AND matricula.situacao = 'AT' )  0 AS possuiMatricula
 FROM prospects
 LEFT JOIN pessoa AS pessoaProspect ON pessoaProspect.codigo =
prospects.pessoa
 LEFT JOIN interacaoworkflow ON interacaoworkflow.codigo = ( SELECT
iwf.codigo FROM interacaoworkflow iwf WHERE prospects.codigo = iwf.prospect
ORDER BY datainicio DESC LIMIT 1 )
 LEFT JOIN etapaWorkflow ON interacaoworkflow.etapaWorkflow =
etapaWorkflow.codigo
 LEFT JOIN usuario ON interacaoworkflow.responsavel = usuario.codigo
 LEFT JOIN pessoa AS pessoaResponsavel ON usuario.pessoa =
pessoaResponsavel.codigo
 LEFT JOIN funcionario ON prospects.consultorPadrao = funcionario.codigo
 LEFT JOIN pessoa AS consultorPadrao ON consultorPadrao.codigo =
funcionario.pessoa
 LEFT JOIN cursointeresse ON cursointeresse.prospects = prospects.codigo
AND cursointeresse.codigo = ( SELECT ci.codigo FROM cursointeresse ci WHERE
ci.prospects = prospects.codigo ORDER BY ci.codigo DESC LIMIT 1 )
 LEFT JOIN curso ON ( curso.codigo = cursointeresse.curso )
 LEFT JOIN curso c2 ON ( c2.codigo = interacaoworkflow.curso )

 LEFT JOIN matricula ON matricula.aluno = pessoaProspect.codigo AND
matricula.matricula = ( SELECT m.matricula FROM matricula m WHERE m.aluno =
pessoaProspect.codigo AND m.situacao = 'AT' ORDER BY DATA DESC LIMIT 1 )
 LEFT JOIN matriculaperiodo ON matriculaperiodo.matricula =
matricula.matricula AND matriculaperiodo.codigo = ( SELECT codigo FROM
matriculaperiodo mp WHERE mp.matricula = matricula.matricula ORDER BY
codigo DESC LIMIT 1 )
 LEFT JOIN curso c3 ON ( c3.codigo = matricula.curso )
 LEFT JOIN turma ON turma.codigo = matriculaperiodo.turma
 LEFT JOIN situacaoprospectworkflow ON
etapaWorkflow.situacaodefinirprospectfinal =
situacaoprospectworkflow.codigo
 LEFT JOIN situacaoprospectpipeline ON situacaoprospectpipeline.codigo =
situacaoprospectworkflow.situacaoprospectpipeline

 WHERE ( prospects.inativo != TRUE )
 AND prospects.nome ILIKE '%'
 AND prospects.unidadeensino IN
 (
  SELECT DISTINCT unidadeEnsino.codigo FROM unidadeEnsino INNER JOIN
usuarioperfilacesso ON usuarioperfilacesso.unidadeensino =
unidadeensino.codigo WHERE usuarioperfilacesso.usuario = 73164
 )
 AND ( ( pessoaResponsavel.codigo = 124331 ) OR ( pessoaResponsavel.codigo
IS NULL ) )

 ORDER BY interacaoworkflow.datainicio DESC,
 prospects.nome, pessoaResponsavel.nome
 LIMIT 60 offset 0


Cadê o outro plano sem o LIMIT?
http://explain.depesz.com/s/hPu

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] query com limit muito mais lenta

2015-04-07 Por tôpico Alessandro Lima
Sem dúvida a consulta deve ser melhorada, mas o que não consigo entender é
o fato de acrescentar apenas um limit 60
e a consulta demorar centenas de vezes mais que sem o limit.

Em teoria a consulta já foi realizada sem o limit em 3 segundos, o limit
não seria a última etapa, pegando apenas os 60 primeiros registros?

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] usuário apenas para pg_dump

2015-03-18 Por tôpico Alessandro Lima
Gostaria de confirmar se para criar um usuário específico para o script de
pg_dump só preciso de permissões nas tabelas e sequencias como o exemplo
que peguei na internet:
CREATE USER backup_user WITH ENCRYPTED PASSWORD 'password'; GRANT CONNECT ON
DATABASE production to backup_user; \c production GRANT USAGE ON SCHEMA
public to backup_user; /*thanks Dominic!*/ GRANT SELECT ON ALL SEQUENCES IN
SCHEMA public TO backup_user; GRANT SELECT ON ALL TABLES IN SCHEMA public TO
backup_user;


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] usuário apenas para pg_dump

2015-03-18 Por tôpico Alessandro Lima
E no caso de ser criada nova tabela, quando rodar o pg_dump para toda a
base de dados public,
o dump será realizado ignorando somente as tabelas que ele não possuir
privilégios? ou não realizará o dump?
pois tabelas que ele tenha permissão pode ter chave estrangeira para uma
tabela sem permissão!!!

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] idle em shell script

2015-03-02 Por tôpico Alessandro Lima
Estou acessando o postgres via shell script:
psql -h localhost -p 5432 -U postgres -At -c select ...

mas percebi que está deixando uma conexão idle,
dei uma pesquisada mas não encontrei como terminar a conexão no shell
script,
ou seja, forçar o \q
recomendaram utilizar um script com alguma linguagem para utilizar um
driver.


Alguma sugestão?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] idle em shell script

2015-03-02 Por tôpico Alessandro Lima

 Tem certeza disso? Após executar o comando passado pelo -c, o psql
 sempre finaliza, não precisa usar \q ou nada do tipo.


acho que me enganei mesmo, consultei novamente os processos idle e não
tinha mais nenhuma conexão 127.0.0.1 idle.

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


Re: [pgbr-geral] host postgres

2015-01-11 Por tôpico Alessandro Lima
apos algumas pesquisas, assinei o weblink [1], que possui servidores
virtuais, e com acesso root.
realmente o preço é bom, pena que a latência seja alta, os servidores vps
deles são nos EUA e não no Brasil.

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] falha ao instalar postgresql-contrib

2015-01-06 Por tôpico Alessandro Lima
Boa tarde, tenho postgresql 9.3.5 instalado em debian 7 64 bits através do
repositório ,http://apt.postgresql.org/
ao tentar instalar a extension hstore, percebi que tinha que instalar o
pacote postgresql-contrib
mas ao instalar o pacote ele tenta buscar no repositório um arquivo
postgresql-contrib-9.3_9.3.5-1.pgdg70+1_amd64.deb e acusa 404 Not Found,
pois no repositório só tem o
postgesql-contrib-9.3_0.3.5-1.pgdg13.10+1_amd64.deb

alguma dica para solucionar este problema?


Atenciosamente:

Alessandro Lima
email grandegoia...@gmail.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] falha ao instalar postgresql-contrib

2015-01-06 Por tôpico Alessandro Lima
RESOLVIDO,

esqueci de atualizar, apt-get update

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] consumo de memória

2014-12-09 Por tôpico Alessandro Lima
Considerando max_connections = a + b,
não entendi o que é a e b
exemplo: tenho max_connections = 16
a = ?
b = ?

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] consumo de memória

2014-12-02 Por tôpico Alessandro Lima
Misturar aplicação com banco de dados não é uma boa...
concordo, mas vai convencer o cliente a gastar mais dinheiro!

aplicação precisa *realmente* dos 8 GB?
estamos sempre tentando otimizar a aplicação, mas atualmente a resposta é
sim.

sugiro que leia sobre como o kernel apresenta esses valores em aplicações
como top
cada processo estava com valores distindtos, ou seja, não representavam o
mesmo processo pai.

Não entendi a pergunta. Se há memória porque um processo não pode
utilizá-la?
Sim. Uma simples consulta pode utilizar bem mais do que isso.
Vou explicar, no meu modesto conhecimento, pensei que o máximo de memória
ram que o postgres pode usar seria:
(shared_buffers) + (autovacum_max_workers * maintenance_work_mem) +
(max_connections + work_mem)
minha intenção era limitar o uso de ram para não usar swap,
então quando ví um único processo utilizando cerca de 3GB, achei estranho
dúvida: este tamanho todo de processo poderia ser além dos parâmetros
citados acima, o cache do s.o.?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] consumo de memória

2014-12-01 Por tôpico Alessandro Lima
Tenho um servidor debian 7 64 bits com postgresql 9.3.4 com 12gb ram,
sendo 8gb para uma aplicação java, o restante para postgres e S.O.

configuração:
max_connections 64
shared_buffers 1gb
temp_buffers 16mb
work_mem 4mb
maintenance_work_mem 128mb
autovacuum_max_workers 3
autovacumm on

Recentemente o servidor está consumindo toda a ram e usando até 10gb de
swap,
utilizando o comando htop percebi 3 processos:
postgres NOME_BASE 127.0.0.1(45730) idle
utilizando cada um cerca de 33% cpu e 20% de ram


Como um único processo pode estar usando cerca de 3gb de memória?
Existe alguma rotina que faça isso, por exemplo dump, importação, vacuum?

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] processos consumindo muita memória

2014-11-28 Por tôpico Alessandro Lima
Como um único processo pode estar usando cerca de 3gb de memória?
Existe alguma rotina que faça isso, por exemplo dump, importação, vacuum?
seria um problema de configuração do postgresql ou de s.o.?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] processos consumindo muita memória

2014-11-27 Por tôpico Alessandro Lima
Bom dia, tenho um servidor debian 7 64 bits com postgresql 9.3.4 com 12gb
ram,
sendo 8gb para uma aplicação java, o restante para postgres e S.O.

configuração:
max_connections 64
shared_buffers 1gb
temp_buffers 16mb
work_mem 4mb
maintenance_work_mem 128mb
autovacuum_max_workers 3
autovacumm on

Recentemente o servidor está consumindo toda a ram e usando até 10gb de
swap,
utilizando o comando htop percebi 3 processos:
postgres NOME_BASE 127.0.0.1(45730) idle
utilizando cada um cerca de 33% cpu e 20% de ram


Como um único processo pode estar usando cerca de 3gb de memória?
Existe alguma rotina que faça isso, por exemplo dump, importação, vacuum?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] postgresql corrompido

2014-09-24 Por tôpico Alessandro Lima
Bom dia, estou com um postgresql 9.3.5 em windows corrompido após
travamento do computador, já foi feita nova instalação do postgresql, mas
após substituir a pasta data o serviço não inicia acusando o mesmo erro:

2014-09-23 19:05:58 BRT LOG:  sistema de banco de dados foi interrompido
enquanto estava sendo recuperado em 2014-09-23 19:03:43 BRT
2014-09-23 19:05:58 BRT DICA:  Isso provavelmente significa que algum dado
foi corrompido e você terá que utilizar a última cópia de segurança para
recuperação.
2014-09-23 19:05:58 BRT LOG:  criando diretório WAL ausente
pg_xlog/archive_status
2014-09-23 19:05:58 BRT LOG:  registro do ponto de controle primário é
inválido
2014-09-23 19:05:58 BRT LOG:  registro do ponto de controle secundário é
inválido
2014-09-23 19:05:58 BRT PÂNICO:  não pôde localizar registro do ponto de
controle válido
2014-09-23 19:05:58 BRT LOG:  processo de inicialização (PID 2460) terminou
com código de retorno 3
2014-09-23 19:05:58 BRT LOG:  interrompendo inicialização porque o processo
de inicialização falhou

obs.: o postgresql estava praticamente com a configuração original, sem
backup de WAL, pois é o computador de desenvolvimento.

Alguma chance de ignorar o arquivo corrompido e não perder a base de dados?

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] postgresql corrompido

2014-09-24 Por tôpico Alessandro Lima
​Por favor, explique etapa por etapa como você fez a recuperação? ​
1- realizada nova instalação do postgresql com a mesma versão.
2- copiada pasta data original

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] postgresql corrompido

2014-09-24 Por tôpico Alessandro Lima
Voçê fez a cópia com o serviço do postgres parado?
Sim, pois com a pasta original o serviço não inicia mais.

Como é um ambiente de testes, você pode resetar os dados de pg_xlog, a
partir do comando: pg_resetxlog diretoriodedados.​
opa, esse comando eu não conhecia, vou testar amanha cedo.

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Audit trigger 91plus

2014-09-15 Por tôpico Alessandro Lima
Boa tarde, utilizo o Audit trigger 91plus e desenvolvi dentro da minha
aplicação web algumas telas para consultar estes logs.

Gostaria de saber se já existe algo similar, que facilite a leitura destes
logs ?

Se realmente não existir, pretendo disponibilizar minha implementação como
open source.

Resumo:
  Administração:
Exibe lista de tabelas, informando se tabela está ou não sendo auditada;
Opção para habilitar ou desabilitar auditoria na tabela;
  Consultas:
Consulta pelos registros inseridos, alterados ou excluídos;
Filtros por data, usuário, tabela, valores de colunas;
Exibe sql e lista com valores anteriores e posteriores de todas as
colunas;
Exibe lista com todas queries realizadas na mesma transação;


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Audit trigger 91plus

2014-09-15 Por tôpico Alessandro Lima
Tenho interesse de utilizar e contribuir se vc publicar.
Vinicius, vou preparar o código para publicar,
mas não tenho experiência neste processo de publicar projeto open source,
basta criar um mailing list no google groups e publicar no github?
posso usar a licença GPL 3 mesmo?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Limite de cursores

2014-09-12 Por tôpico Alessandro Lima
Bom dia, estou configurando um pool de conexões pelo servidor de aplicações
wildfly 8.1.0
e me deparei com a seguinte advertência na documentação:

Statement Cache Size

The Statement Cache Size attribute determines the total number of prepared
and callable statements to cache for each connection in each instance of
the data source. By caching statements, you can increase your system
performance. However, you must consider how your DBMS handles open prepared
and callable statements. In many cases, the DBMS will maintain a cursor for
each open statement. This applies to prepared and callable statements in
the statement cache. If you cache too many statements, *you may exceed the
limit of open cursors on your database server*.


Existe algum limite de cursores no Postgres?

Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Limite de cursores

2014-09-12 Por tôpico Alessandro Lima
 Existe algum limite de cursores no Postgres?
Não.

Obrigado Euler.


Alessandro Lima
email grandegoia...@gmail.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] performance - function

2014-09-12 Por tôpico Alessandro Lima
Aproveitando o tópico, gostaria de tirar uma dúvida:
Qual a vantagem em usar uma function no lugar de uma consulta normal?
pelo que pesquisei, entendi que o ganho seria na economia em trafegar
caracteres,
exemplo: uma consulta grande com 2000 caracteres deixaria de ser trafegada
até o postgres, sendo substituída apenas pelo nome da função.
seria isso mesmo?
se for, caso o cliente (aplicação) estiver no mesmo servidor, esta economia
não se justifica, não gera nem tráfego de rede.


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Postgres cache

2014-09-11 Por tôpico Alessandro Lima
 rows=1141 loops=1)
  Output: b.nome, b.codigo, b.codigo_cidade
  Buckets: 1024  Batches: 1  Memory Usage: 69kB
  Buffers: shared hit=2 read=7
  -  Seq Scan on public.bairro b
 (cost=0.00..20.41 rows=1141 width=27) (actual time=0.007..0.348 rows=1141
loops=1)
Output: b.nome, b.codigo, b.codigo_cidade
Buffers: shared hit=2 read=7
  -  Hash  (cost=1.22..1.22 rows=22 width=18) (actual
time=0.023..0.023 rows=22 loops=1)
Output: c.nome, c.codigo_ibge
Buckets: 1024  Batches: 1  Memory Usage: 2kB
Buffers: shared hit=1
-  Seq Scan on public.cidade c  (cost=0.00..1.22
rows=22 width=18) (actual time=0.004..0.010 rows=22 loops=1)
  Output: c.nome, c.codigo_ibge
  Buffers: shared hit=1
Total runtime: 2453.723 ms

aumentando o shared_buffers para 2,5GB melhora o tempo:

Limit  (cost=27908.40..27908.45 rows=20 width=1175) (actual
time=1489.540..1489.547 rows=20 loops=1)
  Output: anuncio.tipo, anuncio.inicio, anuncio.texto, b.nome, c.nome,
(ts_rank(anuncio.texto_search, query.query))
  Buffers: shared hit=150654
  -  Sort  (cost=27908.40..27928.40 rows=8000 width=1175) (actual
time=1489.538..1489.542 rows=20 loops=1)
Output: anuncio.tipo, anuncio.inicio, anuncio.texto, b.nome,
c.nome, (ts_rank(anuncio.texto_search, query.query))
Sort Key: (ts_rank(anuncio.texto_search, query.query))
Sort Method: top-N heapsort  Memory: 36kB
Buffers: shared hit=150654
-  Hash Join  (cost=146.17..27695.53 rows=8000 width=1175)
(actual time=222.677..1277.727 rows=224150 loops=1)
  Output: anuncio.tipo, anuncio.inicio, anuncio.texto, b.nome,
c.nome, ts_rank(anuncio.texto_search, query.query)
  Hash Cond: (b.codigo_cidade = c.codigo_ibge)
  Buffers: shared hit=150654
  -  Hash Join  (cost=144.67..27564.03 rows=8000 width=1165)
(actual time=222.629..838.208 rows=224150 loops=1)
Output: anuncio.tipo, anuncio.inicio, anuncio.texto,
anuncio.texto_search, b.nome, b.codigo_cidade, query.query
Hash Cond: (anuncio.codigo_bairro = b.codigo)
Buffers: shared hit=150653
-  Nested Loop  (cost=110.00..27419.36 rows=8000
width=1142) (actual time=221.473..651.057 rows=224150 loops=1)
  Output: anuncio.tipo, anuncio.inicio,
anuncio.texto, anuncio.texto_search, anuncio.codigo_bairro, query.query
  Buffers: shared hit=150644
  -  Function Scan on query  (cost=0.00..0.01
rows=1 width=32) (actual time=0.007..0.008 rows=1 loops=1)
Output: query.query
Function Call: '( ''cois'' | ''port'' ) |
''janel'''::tsquery
  -  Bitmap Heap Scan on public.anuncio
 (cost=110.00..27339.35 rows=8000 width=1110) (actual time=221.455..501.126
rows=224150 loops=1)
Output: anuncio.id, anuncio.id_usuario,
anuncio.codigo_bairro, anuncio.tipo, anuncio.texto, anuncio.inicio,
anuncio.texto_search
Recheck Cond: (anuncio.texto_search @@
query.query)
Buffers: shared hit=150644
-  Bitmap Index Scan on
idx_gin_texto_search  (cost=0.00..108.00 rows=8000 width=0) (actual
time=147.330..147.330 rows=224150 loops=1)
  Index Cond: (anuncio.texto_search @@
query.query)
  Buffers: shared hit=182
-  Hash  (cost=20.41..20.41 rows=1141 width=27)
(actual time=1.135..1.135 rows=1141 loops=1)
  Output: b.nome, b.codigo, b.codigo_cidade
  Buckets: 1024  Batches: 1  Memory Usage: 69kB
  Buffers: shared hit=9
  -  Seq Scan on public.bairro b
 (cost=0.00..20.41 rows=1141 width=27) (actual time=0.008..0.480 rows=1141
loops=1)
Output: b.nome, b.codigo, b.codigo_cidade
Buffers: shared hit=9
  -  Hash  (cost=1.22..1.22 rows=22 width=18) (actual
time=0.025..0.025 rows=22 loops=1)
Output: c.nome, c.codigo_ibge
Buckets: 1024  Batches: 1  Memory Usage: 2kB
Buffers: shared hit=1
-  Seq Scan on public.cidade c  (cost=0.00..1.22
rows=22 width=18) (actual time=0.005..0.011 rows=22 loops=1)
  Output: c.nome, c.codigo_ibge
  Buffers: shared hit=1
Total runtime: 1489.635 ms

Me parece que neste caso o shared_buffers do tamanho da base de dados tem
melhor performance.


Atenciosamente,

Alessandro Lima

[pgbr-geral] Postgres cache

2014-09-08 Por tôpico Alessandro Lima
Bom dia, criei uma base de dados para testes de performance com uma tabela
contendo 2 milhões de registros contendo um campo text com texto gerado
aleatoriamente com 25 palavras cada.

A base de dados ficou com 2,5GB, estou utilizando shared_buffers de 3.5GB
para que a base fique toda em cache.

Utilizando consultas para testes de performance percebo que sempre que
altero o texto a ser pesquisado a primeira consulta fica lenta, a próximas
ficam abaixo de 1 segundo. Exemplo de filtro:
to_tsquery('teste|porta|janela')

Minha dúvida é como a tabela é armazenada em cache, em partes?
porque se a tabela fosse toda para cache não justificaria a lentidão na
primeira consulta.

Obs.: já estou utilizando índice gin na coluna pré-processada do tipo
tsvector.


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Postgres cache

2014-09-08 Por tôpico Alessandro Lima
Você tem índices aí?
Você tem outras tabelas?
Enfim, seu teste me parece mais uma rota de colisão com uma parede do que
um teste. É muito simples e não corresponde ao uso real de um banco de
dados.
Tenho índices para a chave estrangeira e para o tsvector que é o filtro da
consulta.
Tenho um outra tabela pequena (1141 registros, 168kB)

Índices também ocupam espaço do cache. Índices GIN costumam ser grandes.
o índice GIN do tsvector é de 644MB
a tabela principal é de 1822MB
totalizando 2466MB, que é 98,8% de toda a base de dados

Quem vai pro cache do PostgreSQL são páginas, eventualmente uma tabela
inteira,
apenas os registros resultado dos filtros da consulta que vão para o cache?

.lembrando que há o cache do S.O. a considerar.
por se tratar de uma única tabela(98,8% de toda a base de dados), e alto
processamento nos filtros (text search), pensei que a melhor saída seria
colocar todo o banco no cache,
e gostaria de usar recursos próprio do postgres, ou será que para alta
performance será necessário utilizar ferramentas como solr?


Segue SQL utilizado para testes:
select a.tipo, a.inicio, a.texto, b.nome as bairro, ts_rank(texto_search,
query) as rank
from anuncio as a inner join bairro as b on b.codigo = a.codigo_bairro
, to_tsquery('pt', 'cozinha') as query
where texto_search @@ query
order by rank desc, b.nome
limit 20 offset 0

Meu desafio é agilizar esta consulta, pois sempre que altero o texto da
consulta, demora cerca de 50 segundos
mas das próximas vezes demora 0,5 segundo (em cache)


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] Postgres cache

2014-09-08 Por tôpico Alessandro Lima
)
  Buffers: shared hit=50820 read=2055
  -  Nested Loop  (cost=110.00..27420.00 rows=8000
width=1142) (actual time=91.696..45035.989 rows=58844 loops=1)
Output: a.tipo, a.inicio, a.texto, a.texto_search,
a.codigo_bairro, query.query
Buffers: shared hit=50811 read=2055
-  Function Scan on query  (cost=0.00..0.01 rows=1
width=32) (actual time=0.003..0.004 rows=1 loops=1)
  Output: query.query
  Function Call: '''propri'''::tsquery
-  Bitmap Heap Scan on public.anuncio a
 (cost=110.00..27339.99 rows=8000 width=1110) (actual
time=91.682..43901.170 rows=58844 loops=1)
  Output: a.id, a.id_usuario, a.codigo_bairro,
a.tipo, a.texto, a.inicio, a.texto_search
  Recheck Cond: (a.texto_search @@ query.query)
  Buffers: shared hit=50811 read=2055
  -  Bitmap Index Scan on idx_gin_texto_search
 (cost=0.00..108.00 rows=8000 width=0) (actual time=77.595..77.595
rows=58844 loops=1)
Index Cond: (a.texto_search @@
query.query)
Buffers: shared hit=3 read=45
  -  Hash  (cost=20.41..20.41 rows=1141 width=23) (actual
time=0.471..0.471 rows=1141 loops=1)
Output: b.nome, b.codigo
Buckets: 1024  Batches: 1  Memory Usage: 63kB
Buffers: shared hit=9
-  Seq Scan on public.bairro b  (cost=0.00..20.41
rows=1141 width=23) (actual time=0.007..0.191 rows=1141 loops=1)
  Output: b.nome, b.codigo
  Buffers: shared hit=9
Total runtime: 46109.779 ms
Segunda consulta:
Limit  (cost=27797.55..27797.60 rows=20 width=1161) (actual
time=232.074..232.077 rows=20 loops=1)
  Output: a.tipo, a.inicio, a.texto, b.nome, (ts_rank(a.texto_search,
query.query))
  Buffers: shared hit=52875
  -  Sort  (cost=27797.55..27817.55 rows=8000 width=1161) (actual
time=232.071..232.072 rows=20 loops=1)
Output: a.tipo, a.inicio, a.texto, b.nome,
(ts_rank(a.texto_search, query.query))
Sort Key: (ts_rank(a.texto_search, query.query)), b.nome
Sort Method: top-N heapsort  Memory: 36kB
Buffers: shared hit=52875
-  Hash Join  (cost=144.67..27584.68 rows=8000 width=1161)
(actual time=35.060..195.143 rows=58844 loops=1)
  Output: a.tipo, a.inicio, a.texto, b.nome,
ts_rank(a.texto_search, query.query)
  Hash Cond: (a.codigo_bairro = b.codigo)
  Buffers: shared hit=52875
  -  Nested Loop  (cost=110.00..27420.00 rows=8000
width=1142) (actual time=34.546..143.135 rows=58844 loops=1)
Output: a.tipo, a.inicio, a.texto, a.texto_search,
a.codigo_bairro, query.query
Buffers: shared hit=52866
-  Function Scan on query  (cost=0.00..0.01 rows=1
width=32) (actual time=0.004..0.006 rows=1 loops=1)
  Output: query.query
  Function Call: '''propri'''::tsquery
-  Bitmap Heap Scan on public.anuncio a
 (cost=110.00..27339.99 rows=8000 width=1110) (actual time=34.528..123.412
rows=58844 loops=1)
  Output: a.id, a.id_usuario, a.codigo_bairro,
a.tipo, a.texto, a.inicio, a.texto_search
  Recheck Cond: (a.texto_search @@ query.query)
  Buffers: shared hit=52866
  -  Bitmap Index Scan on idx_gin_texto_search
 (cost=0.00..108.00 rows=8000 width=0) (actual time=20.198..20.198
rows=58844 loops=1)
Index Cond: (a.texto_search @@
query.query)
Buffers: shared hit=48
  -  Hash  (cost=20.41..20.41 rows=1141 width=23) (actual
time=0.478..0.478 rows=1141 loops=1)
Output: b.nome, b.codigo
Buckets: 1024  Batches: 1  Memory Usage: 63kB
Buffers: shared hit=9
-  Seq Scan on public.bairro b  (cost=0.00..20.41
rows=1141 width=23) (actual time=0.008..0.218 rows=1141 loops=1)
  Output: b.nome, b.codigo
  Buffers: shared hit=9
Total runtime: 232.811 ms


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.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] pgbadger

2014-09-04 Por tôpico Alessandro Lima
Pelo que pude entender, connections conta cada conexão realizada, já
sessions conta quando foi conectado e desconectado.
Então analisando dois gráficos que tenho, e considerando que as conexões
são geradas pelo pool de conexões da aplicação java:
um com pico de 24 connections, significa que neste momento foram
criadas 24 conexões pelo pool ?
outro com pico de 58 sessions, , significa que neste momento foram
fechadas 58 conexões pelo pool ? (neste caso provavelmente pelo timeout)

Agora, para verificar quem gerou esses bloqueios, você terá que usar o %x
no log_line_prefix e procurar pelo número da transação informado lá, nesse
caso 237386.
configurei meu log_line_prefix para '%t [%p]: [%l-1] db=%d,t=%x '
mas a transaçao está sempre com zero no log, t=0

É claro que para isso o comando da transação 237386 deve ter sido logado.
É bom habilitar um log completo de vez em quando, pode ser por algum tempo
basta definir o log_min_duration_statement = 0 e log_statement = 'none' ?


Atenciosamente,

Alessandro Lima
email grandegoia...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] pgbadger

2014-09-03 Por tôpico Alessandro Lima
Tenho o pgbadger instalado e estou com algumas dúvidas e alguns
questionamentos do meu cliente:

1- qual a diferença entre connections e sessions?

no exemplo: http://192.99.153.10/pgbadger.png

2- o que significa (5 MINUTES AVERAGE) se no gráfico mostra o dia inteiro?

3- cliente alega que recentemente aumentou o QUERIES DURATION,
isto não quer dizer necessariamente que as consultas estão mais lentas,
basta o número de queries do dia ser maior, correto?

4- no gráfico mostra que um update levou cerca de 40 segundos, este update
também aparece na   lista de queries que demoraram mais devido bloqueio,
qual a melhor forma de identificar quem   gerou este bloqueio?

Atenciosamente,

Alessandro Lima

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


[pgbr-geral] postgres pedindo senha ao instalar/iniciar/parar/reload

2014-09-01 Por tôpico Alessandro Lima
Boa tarde,
Tenho um postgres 9.0 (em produçao) instalado em um Ubuntu 10.04.2 LTS 64
bits e fui solicitado para realizar a instalação da versão 9.3
Acontece que ao instalar o novo postgres, fica pedindo uma senha após 100%
da instalação:
0%___50%100%
#Password:
Warning: Problem running post-install step. Installation may not complete
correctly
The database cluster initialisation failed

Esta senha também está sendo pedida para qualquer operação
(start/stop/reload) do postgres antigo 9.0
/etc/init.d/postgresql-9.0 reload
Restarting PostgreSQL 9.0:
Password:
su: incorrect password
rm: cannot remove `su': No such file or directory

Já atualizei a senha do usuário postgres
# passwd postgres
Mas continua acusando senha inválida ao executar operações do postgres

Editei o arquivo /etc/init.d/postgresql-9.0 ví que é chamado o comando:
su - postgres /opt/PostgreSQL/9.0/bin/pg_ctl.
Provavelmente esta seja a origem do problema, pois testei rodar
simplesmente o comando:
su - postgres
e apresenta o mesmo erro:
Password:
su: incorrect password
rm: cannot remove `su': No such file or directory

Parece ser mais um problema de linux do que de postgres, mas qualquer ajuda
é bem vinda



Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] postgres pedindo senha ao instalar/iniciar/parar/reload

2014-09-01 Por tôpico Alessandro Lima
Parece ser mais um problema de linux do que de postgres, mas qualquer
ajuda é bem vinda

Realmente era um problema com o usuário root e não com o postgres, consegui
instalar com outro usuário.

Atenciosamente,

Alessandro Lima

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


[pgbr-geral] estimando tamanho da base

2014-08-20 Por tôpico Alessandro Lima
Estive analisando os tamanhos das colunas, tabelas e base e alguns valores
não batem:

1- uma tabela com 27435 registros com índice (integer 4 bytes) consome
616KB, sendo que 27435 x 4B = 107KB, esta diferença (overhead) é normal?
tem alguma fórmula matemática para calcular o tamanho de índices?

2- Somando o tamanho (informado pelo pgadmin) das colunas:
integer:,média 4B
varchar: média 14B
varchar: média 19B
varchar: média 12B

total: média 49B
27435 x 49B = 1,28MB, o pgadmin informa que a tabela (sem índices) consome
2,18MB

3- Somando todas as tabelas (incluindo toast e índices) informados pelo
próprio pgadmin, o tamanho seria de 3,1MB mas o tabanho da base completa é
de 9.56MB

Alessandro Lima

email grandegoia...@gmail.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] estimando tamanho da base

2014-08-20 Por tôpico Alessandro Lima
Obrigado pelas explicações!!!

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] Case com Zebedee

2014-07-25 Por tôpico Alessandro Lima
Renato,

A versão atual é de 2005 mesmo, mas está muito estável. Creio que por
isso não tenha atualizações recentes.
qual versão vc utiliza? porque no site diz que a versão estável é a 2.4.1A
mas no sourceforge tem uma versão 2.5.3 com a mesma data 06/09/2005.

Utilizo debian 7 64 bits, existe alguma forma de instalar com apt-get? ou
qual forma vc recomenda, pelo fonte?

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] Auditoria de dados

2014-07-25 Por tôpico Alessandro Lima
Pretendo fazer essa operação através de trigger
Utilizo o Audit trigger 91Plus [1]

O problema é capturar o responsável pela alteração, porque quem faz a
conexão no banco é um usuário único, definido na aplicação
Tive o mesmo problema, como uso jdbc resolvi passando o id do usuário
logado como comentário no final da query:
UPDATE tabela SET campo = true WHERE id = 1 --ul:5
onde ul:5 significa usuáio logado de id 5
alterei a a trigger original do audit trigger para capturar em vez do
usuário do postgres, capturar o id que vem após a string '--ul:'

[1] https://wiki.postgresql.org/wiki/Audit_trigger_91plus

Atenciosamente,

Alessandro Lima

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


[pgbr-geral] banco e aplicação no mesmo servidor

2014-07-24 Por tôpico Alessandro Lima
Tenho vários clientes que possuem o postgres e a aplicação java web no
mesmo servidor,
acredito que tenho melhor desempenho por não gerar tráfego na rede e por
aproveitar ociosidade da cpu.

Mas gostaria da experiência de vocês se esta é uma boa prática, ou o banco
em um servidor independente teria melhor desempenho.



Atenciosamente,

Alessandro Lima

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


[pgbr-geral] falha could not extend file

2014-07-23 Por tôpico Alessandro Lima
Tenho uma aplicação web java usando postgres 9.3 em linux que está
apresentando a seguinte mensagem:

PreparedStatementCallback; SQL[]; ERROR: could not extend file
base/16393/37677: No space left on device Dica: Check free disk space.
Onde: SQL statement
 INSERT INTO audit.logged_actions VALUES (audit_row.*) PL/pgSQL function
audit.if_modified_func() line 58 at SQL statement

1 - Pelo que saiba qualquer erro relacionado a log não deveria gerar
excessão na aplicação, correto?

2 - Não existe falta de espaço em disco, a partição / de 59GB está apenas
com 39% de uso.

Alguma dica?

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] falha could not extend file

2014-07-23 Por tôpico Alessandro Lima
Como assim? Nesse seu caso é claro o erro de alguma operação de sua
aplicação ao executar aquele INSERT INTO audit.logged_actions ...
A aplicação nem sabe da existência do log, utilizo o Audit trigger 91plus
(1)

Tem certeza que aquela tabela audit.logged_actions está nessa
partição? Verifique em que tablespace ela está alocada.
Só existe uma partição e só uma tablespace

(1) https://wiki.postgresql.org/wiki/Audit_trigger_91plus

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] Case com Zebedee

2014-07-23 Por tôpico Alessandro Lima
Jean, estive dando uma olhada no Zebedee, parece que a última atualização
dele foi em 2005, é isto mesmo?

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] falha could not extend file

2014-07-23 Por tôpico Alessandro Lima
As operações ainda estão falhando?
parece que voltou ao normal.

Obrigado pela ajuda,

Alessandro Lima

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


[pgbr-geral] servidor não inicia

2014-07-22 Por tôpico Alessandro Lima
Tenho um postgres 9.0 instalado em ubuntu 11.10 64 bits,
minha meta era instalar o 9.3 em outra porta para fazer a migração
e fazer dump do antigo e restaurar no novo.

Mas no final da instalação no 9.3, após 100% pede uma senha e depois dá
falha na instalação, no arquivo /tmp/install-postgresql.log diz o seguinte:
rm: cannot remove `su': no such file or directory
su:: unexpected operator

após iniciar o servidor (init 6) nem o atual postgres 9.0 em produção quer
iniciar
/etc/init.d/postgresql start
pede senha e nao inicia.

alguma dica!


Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] servidor não inicia

2014-07-22 Por tôpico Alessandro Lima
Provavelmente estás chamando o script com usuário não root.
estou logado como root

Como você procedeu essa instalação?
baixei o instalador postgresql-9.3.4-4-linux-x64.run do site postgres.org
(instalador gráfico)


Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] servidor não inicia

2014-07-22 Por tôpico Alessandro Lima
A versão anterior que você usava era o tal instalador gráfico ou do
repositório do Ubuntu?
a anteriror também é da EnterpriseDB

eu vi a opção de instalar pelo repositorio,
http://www.postgresql.org/download/linux/ubuntu/
mas pede para escolher uma versão do ubuntu (10.04 ou 12.04) não tem a
minha versão 11.10 !

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] dúvida sobre PITR

2014-07-13 Por tôpico Alessandro Lima
Obrigado pelas dicas, utilizei os bzip2 e os logs de 16MB estão ficando com
1.5MB em média.


Alessandro Lima
email grandegoia...@gmail.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] dúvida sobre PITR

2014-07-11 Por tôpico Alessandro Lima
Percebi que a pasta com arquivos WAL está crescendo muito,
meu banco só tem uma base de dados com 128MB
e após um dia de arquivamentos PITR minha pasta /backup/wal já está com 4GB.
obs.: a aplicação ainda não está em produção, só tem um usuário fazendo
alguns testes.

meu postgresql.conf:
wal_level = hot_standby
archive_mode = on
archive_command = 'cp %p /backup/wal/%f'
archive_timeout = 300
max_wal_senders = 1

Isto é normal? algum erro na configuração?


Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.com


Em 10 de julho de 2014 05:16, Flavio Henrique Araque Gurgel 
fha...@gmail.com escreveu:

  Ele pode armazenar se você o fizer propositalmente como parte de sua
 estratégia.

 basta configurar o standby do mesmo jeito que configurei o principal?
 porque acho que gravando os logs no standby seria o ideal devido ao
 baixo delay (quase que em tempo real) e também seria no mesmo disco, não
 dependeria da rede.


 Não.
 Um servidor standby não gera logs de transação (WAL), ele faz o contrário,
 ele os consome a partir do mestre para aplicar as modificações, mesmo no
 modo de replicação por streaming, o servidor standby vai lendo aos poucos o
 que o mestre está escrevendo no seu log de transação local.

 Portanto, se você quiser armazenar os logs de transação no servidor
 escravo, você terá de fazê-lo a partir do mestre, usando por exemplo rsync
 ou scp como archive_command, ou montando o diretório do escravo como nfs no
 mestre e copiando pra lá com cp.


 []s
 Flavio Gurgel
 ___
 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] dúvida sobre PITR

2014-07-11 Por tôpico Alessandro Lima
A quantidade de arquivos gerada não tem a ver com o tamanho da base, mas
com a quantidade de modificações que você faz nela.
Mas verifiquei e praticamente só estão fazendo consultas, não está sendo
cadastrado nada!

Se você não tiver replicação ainda, você pode colocar o wal_level para
archive
Estou fazendo replicação.

Deve ter algo de errado mesmo, a replicação pode afetar no volume dos
arquivos WAL?

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.com


Em 11 de julho de 2014 10:39, Flavio Henrique Araque Gurgel 
fha...@gmail.com escreveu:



 Em 11-07-2014 15:22, Alessandro Lima escreveu:

  Percebi que a pasta com arquivos WAL está crescendo muito,
 meu banco só tem uma base de dados com 128MB
 e após um dia de arquivamentos PITR minha pasta /backup/wal já está com
 4GB.
 obs.: a aplicação ainda não está em produção, só tem um usuário fazendo
 alguns testes.

 meu postgresql.conf:
 wal_level = hot_standby
 archive_mode = on
 archive_command = 'cp %p /backup/wal/%f'
 archive_timeout = 300
 max_wal_senders = 1

 Isto é normal? algum erro na configuração?


 É normal.

 A quantidade de arquivos gerada não tem a ver com o tamanho da base, mas
 com a quantidade de modificações que você faz nela.

 Você pode, talvez, desligar archive_timeout colocando 0 como valor, isso
 deve reduzir a quantidade de arquivos guardada, mas tem um efeito
 colateral, o PostgreSQL vai sempre esperar um log de transação encher em 16
 MiB antes de arquivá-lo e isso pode demorar muito tempo se sua base não for
 muito frequentada, o que pode fazer seu backup muito atrasado.
 Considerando que sua base ainda está em testes, talvez seja útil fazer isso.

 Das configurações que você enviou, wal_senders não afeta o arquivamento.
 Se você não tiver replicação ainda, você pode colocar o wal_level para
 archive, isso reduz um pouco a quantidade de dados também, mas talvez não
 valha a pena porque é pouco, e pode ser impossível se você já tiver
 replicação em funcionamento.


 []s
 Flavio Gurgel
 ___
 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] dúvida sobre PITR

2014-07-11 Por tôpico Alessandro Lima
Então desabilite archive_timeout, deve ser isso que está te causando o
volume que vê.
alterei o archive_timeout para 60 para monitorar o que acontece e em 15
minutos foram criados 5 arquivos de 16MB
com esta configuração ele deveria criar um novo arquivo WAL a cada minuto
(60 segundos)?

desabilitando o archive_timeout resolveria o volume, mas isto é prática
normal? pois pelo que entendi desabilitando só vai fechar o arquivo após
preencher os 16MB, se isto levar muito tempo, e o disco danificar, todas as
transações destas horas ficariam perdidas?

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.com


Em 11 de julho de 2014 11:48, Flavio Henrique Araque Gurgel 
fha...@gmail.com escreveu:

  A quantidade de arquivos gerada não tem a ver com o tamanho da base,
 mas com a quantidade de modificações que você faz nela.
 Mas verifiquei e praticamente só estão fazendo consultas, não está sendo
 cadastrado nada!


 Então desabilite archive_timeout, deve ser isso que está te causando o
 volume que vê.



  Se você não tiver replicação ainda, você pode colocar o wal_level para

 archive
 Estou fazendo replicação.


 Então deves manter o nível hot-standby.



 Deve ter algo de errado mesmo, a replicação pode afetar no volume dos
 arquivos WAL?


 A configuração wal_level interfere um pouco no volume, mas não muda a
 ordem de gigabytes para megabytes, pode ter certeza.


 []s
 Flavio Gurgel
 ___
 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] dúvida sobre PITR

2014-07-11 Por tôpico Alessandro Lima
Se houver algo escrito, sim, ele vai arquivar após o tempo configurado.
Se a escrita for zero, não há arquivamento.
o estranho é que no momento não tem ninguem acessando o sistema, apenas eu
instalei o pgbadger para ter certeza, não houve nenhuma escrita mas os
arquivos WAL continuam sendo criados.
link pgbadger: http://scwsistemas.com.br/arquivos/out.html

Perdidas é uma palavra muito forte. Que tal não arquivadas?
no caso de perda total to disco ou servidor, não terei como recuperar estas
transações, correto?

Pra tirar nota 10, apague o resto da mensagem que você deixa abaixo da
sua resposta.
ficou legal agora? se não me engano já me reclamaram no passado quando
apaguei o resto das mensagens (uso gmail)


Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] dúvida sobre PITR

2014-07-11 Por tôpico Alessandro Lima
Se quiser, use o pg_xlogdump e dê uma olhada o que está sendo escritos
nesses logs
não consegui entender como usar este comando, me pede start range,
você tem algum tutorial para indicar?

Recomendo também a usar o gzip para comprimir os logs arquivados
basta substituir o archive_command? por exemplo 'bzip2 -c %p 
/backup/wal/%f.bz2'
se utilizar alguma ferramenta que quebra o arquivo como o Flávio sugeriu:
Existem ferramentas que quebram o arquivo no ponto da última escrita
para evitar armazená-lo inteiro.
melhora a compressão dos dados? caso positivo, você sabe de alguma para
indicar?

Atenciosamente,

Alessandro Lima

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


[pgbr-geral] dúvida sobre PITR

2014-07-09 Por tôpico Alessandro Lima
Pesquisei os links indicados por vocês como sendo melhor forma de backup,
não usando apenas do pg_dump e pg_dumpall.

E consegui implementar o PITR e o STREAMING REPLICATION.

Pelo que entendi o STREAMING REPLICATION é usado normalmente para
balanceamento de carga em consultas e para assumir como servidor principal
na falha do mesmo, mas não como backup pois se os registros forem apagados
no principal, também serão apagados no standby, e pelo que pesquisei o
standby não armazena os logs WAL.

Já o PITR sim é o mecanismo de backup, armazenando em outro servidor o base
backup através do pg_basebackup e dos arquivos WAL usando rsync

Mas a minha dúvida maior é na manutenção destes backups:
1- a pasta que eu criei para copiar os logs WAL nunca diminui? mesmo
reciclando a pasta pg_xlog
2- a limpeza da pasta pg_xlog é feita excluindo os arquivos com extensão
.backup?
3- o ideal é repetir o pg_basebackup de tempos em tempos? neste caso devo
excluir minha pasta com logs WAL antigos?


Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] dúvida sobre PITR

2014-07-09 Por tôpico Alessandro Lima
a pasta pg_xlog é de uso do servidor PostgreSQl e sua manutenção é feita
automaticamente. Nunca mexa manualmente nela.
acho que confundi qual pasta o pg_archivecleanup limpa.

A ferramenta pg_barman é uma ótima companheira para gerenciar backups
PITR. Ela automatiza a maioria das tarefas, principalmente a tediosa
limpeza da pasta onde guardam-se os arquivos WAL.
o pg_barman automatiza estas tarefas via comando (shell) ou tem interface
gráfica?
ele pode ser instalado em um computador sem postgres para administrar os
servidores de vários clientes?

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.com


Em 9 de julho de 2014 10:57, Matheus de Oliveira matioli.math...@gmail.com
escreveu:

 Seus entendimentos do backup incremental/PITR parecem estar corretas,
 então vou focar nas dúvidas que restaram.

 2014-07-09 10:31 GMT-03:00 Alessandro Lima grandegoia...@gmail.com:

 Mas a minha dúvida maior é na manutenção destes backups:
 1- a pasta que eu criei para copiar os logs WAL nunca diminui? mesmo
 reciclando a pasta pg_xlog


 O pg_xlog é controlado pelo próprio PostgreSQL, já o local onde você está
 salvando os segmentos de log devem ser controlados por você. Na verdade o
 PostgreSQL nem sabe da existência ou local desta, logo se quiser que ela
 diminua, você mesmo deve apagar os arquivos que não considera mais
 necessário.


 2- a limpeza da pasta pg_xlog é feita excluindo os arquivos com extensão
 .backup?


 Não. Nunca, em hipótese alguma, nem em sonho, encoste em nenhum dos
 arquivos na pasta pg_xlog. Deixe o PostgreSQL controlá-los. Só garanta que
 o código de retorno do comando que colocaras no archive_command esteja
 funcionando corretamente e que o arquivamento está sendo feito. Uma causa
 comum de inchaço da pg_xlog é a falha do archive_command.


 3- o ideal é repetir o pg_basebackup de tempos em tempos?


 Sim.

 Na verdade você poderia fazer um só e acumular os logs, mas isso faria com
 que o tempo de restauração só aumentasse, ficando impraticável. O ideal é
 mesmo um base backup de tempos em tempos.


 neste caso devo excluir minha pasta com logs WAL antigos?


 Quando você faz um base backup o PostgreSQL cria o arquivo .backup. É um
 arquivo texto, leia este arquivo e verás dois registros: START WAL
 LOCATION e STOP WAL LOCATION. Estes registros indicam quais são os logs
 de transação que este backup precisa obrigatoriamente. Logo, para
 restaurá-lo você precisará ao menos ter os arquivos gerados entre o START e
 o STOP, os demais não são necessários, mas possivelmente você vai querer
 mais arquivos à frente do STOP, para fazer uma restauração de tudo possível
 ou ainda um PITR (Point In Time Recovery).

 Agora, quanto à apagar os logs de transação, vai depender de sua política
 de backup. Se, por exemplo, a cada backup base realizado você decidir
 apagar o backup base anterior, você poderá apagar todos logs de transação
 anteriores ao valor do START daquele que será mantido. A regra seria: ao
 apagar backups base antigos, você pode apagar todos os logs de transação
 anteriores ao START do primeiro backup base que será mantido. O ponto do
 START também é o indicado no nome do arquivo .backup, seria START LOG
 filename.START LOG position.backup, isso facilita (e.g. apague todos
 até o .backup e o que tem o mesmo número).

 Para apagar os arquivos antigos, você pode usar o pg_archivecleanup [1].
 Ou outras ferramentas de backup, como o barman ou o pg_rman.

 [1] http://www.postgresql.org/docs/current/static/pgarchivecleanup.html



 --
 Matheus de Oliveira
 Analista de Banco de Dados
 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


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


Re: [pgbr-geral] dúvida sobre PITR

2014-07-09 Por tôpico Alessandro Lima
Ele pode armazenar se você o fizer propositalmente como parte de sua
estratégia.

basta configurar o standby do mesmo jeito que configurei o principal?
porque acho que gravando os logs no standby seria o ideal devido ao baixo
delay (quase que em tempo real) e também seria no mesmo disco, não
dependeria da rede.

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.com


Em 9 de julho de 2014 11:31, Flavio Henrique Araque Gurgel fha...@gmail.com
 escreveu:

  a pasta pg_xlog é de uso do servidor PostgreSQl e sua manutenção é
 feita automaticamente. Nunca mexa manualmente nela.
 acho que confundi qual pasta o pg_archivecleanup limpa.


 Ah sim, o diretório onde você configurou o arquivamento pelo seu
 archive_command, ok.
 A limpeza não é automática, como já respondido anteriormente e acho que
 você já captou.


   A ferramenta pg_barman é uma ótima companheira para gerenciar backups
 PITR. Ela automatiza a maioria das tarefas, principalmente a tediosa
 limpeza da pasta onde guardam-se os arquivos WAL.
 o pg_barman automatiza estas tarefas via comando (shell) ou tem
 interface gráfica?


 A ferramenta funciona através de linha de comando, mas muita gente a
 integra a outras ferramentas como o Bacula ou Tivoli, por exemplo.


  ele pode ser instalado em um computador sem postgres para administrar os
 servidores de vários clientes?


 Sim senhor.

 []s
 Flavio Gurgel

 ___
 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] dump vs dump_all

2014-07-08 Por tôpico Alessandro Lima
Tenho um banco 9.3 apenas com uma base de dados, quando faço dump nesta
base de dados o arquivo fica apenas com 150MB, mas quando faço dump_all o
arquivo fica com 2,1GB

Segue abaixo comando utilizados:
pg_dumpall -h localhost -p 5432 -U postgres -v -f /backup/dumpall.backup
pg_dump -h localhost -p 5432 -U postgres -F c -v -f /backup/dump.backup base

Esta diferença toda é devido ao pg_dumpall não compactar o arquivo gerado?

Pesquisando na internet recomendaram fazer o seguinte:

   - pg_dumpall --globals-only (para obter users/roles/etc)
   - pg_dump -Fc (para cada base de dados)

Mas esta estratégia deixa brechas para falhas, se alguém alterar o nome de
alguma base ou criar uma nova e esquecer de alterar a rotina de dump !!!

Qual a melhor solução?


Atenciosamente,

Alessandro Lima

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


[pgbr-geral] migrar 9.2 para 9.3 copiando pasta main

2014-06-26 Por tôpico Alessandro Lima
Tenho uma cópia da pasta /etc/postgresql/9.2/main de um servidor debian 6,
gostaria de saber se consigo restaurar este banco em outro servidor debian
7 com postgresql 9.3 apenas substituindo a pasta main?

obs.: em ambos os servidores o postgres foi instalado pelo repositorio pgdg.

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.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] migrar 9.2 para 9.3 copiando pasta main

2014-06-26 Por tôpico Alessandro Lima
Não, você precisa usar a mesma versão do PostgreSQL. Se a original era
9.2, poderá fazer a restauração em uma instalação 9.2.
A arquitetura também deve ser a mesma, ou seja, se o original era x86-64
a nova também deve ser.
Vou ter quer usar esta opção, não tenho acesso ao servidor original (debian
6 64bits),
usando a mesma versão 9.2 e x86-64, consigo restaurar em windows?

Atenciosamente,

Alessandro Lima

email grandegoia...@gmail.com


Em 26 de junho de 2014 18:38, Flavio Henrique Araque Gurgel 
fha...@gmail.com escreveu:

 Tenho uma cópia da pasta /etc/postgresql/9.2/main de um servidor debian 6,
 gostaria de saber se consigo restaurar este banco em outro servidor
 debian 7 com postgresql 9.3 apenas substituindo a pasta main?


 Não, você precisa usar a mesma versão do PostgreSQL. Se a original era
 9.2, poderá fazer a restauração em uma instalação 9.2.
 A arquitetura também deve ser a mesma, ou seja, se o original era x86-64 a
 nova também deve ser.

 Alternativamente, você pode usar o pg_upgrade para atualizar a pasta para
 a nova versão.

 Você pode também fazer um dump do original e restaurá-lo no novo servidor,
 isso não dependerá de versão nem de arquitetura. Considere esta opção se o
 banco de dados não for muito grande e se o servidor original estiver
 funcionando normalmente.

 []s
 Flavio Gurgel
 ___
 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


  1   2   >