Re: [pgbr-geral] Base corrompida

2015-11-24 Por tôpico Tiago José Adami
Em 24 de novembro de 2015 17:23, Fabrízio de Royes Mello
 escreveu:
> Um detalhe *EXTREMAMENTE* importante antes de fazer qualquer coisa, pare
> o seu PostgreSQL e efetue uma cópia física do $PGDATA (e tablespaces se
> tiver) antes de mais nada.
>
> Como se trata de Windows, se este tiver um "antivirus" veja se aquele
> objeto que não foi encontrado não está na "quarentena" do mesmo.

Além do antivírus confirme se as permissões do diretório não foram
alteradas, no Windows é fácil de cometer deslizes deste tipo,
principalmente instaladores de certos tipos de programas que pedem
acesso de Administrador - Cobian Backup é um deles que já me deu
alguma dor de cabeça.

Extra: em algum momento da minha vida profissional já vi mensagem de
erro semelhante em uma tabela que residia em um disco particionado com
FAT32. Apesar dos bloqueios nos novos instaladores do PostgreSQL para
Windows, sabe-se-lá-quem-e-como conseguiu realizar esta façanha. E
então a tabela - ou arquivo do objeto - chegou no limite dos 4 GB e
'corrompeu' (se é esta a palavra adequada). Não testei hoje nas
versões mais atuais para dizer se isto ainda é possível e se a
mensagem é a mesma.


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

Re: [pgbr-geral] Base corrompida

2015-11-24 Por tôpico Tiago José Adami
Em 24 de novembro de 2015 23:39, Dickson S. Guedes
 escreveu:
> Em 24 de novembro de 2015 20:16, Tiago José Adami  
> escreveu:
>> E então a tabela - ou arquivo do objeto - chegou no limite dos 4 GB e
>> 'corrompeu' (se é esta a palavra adequada).
>
> Que estranho isso, porque o Postgres cria arquivos de tamanho menor ou
> igual a 1GB justamente por questões de compatibilidade. Vide o
> `relfilenode`, que é um ID lógico, fisicamente dividido em N arquivos
> físicos com tamanhos de no máximo 1GB nomeados com final .1, .2, .3, e
> assim por diante.

Faz muito tempo que eu presenciei este fato, difícil lembrar.

Pode parecer algo sem noção: a mensagem era semelhante, o arquivo
informado tinha 4 GB e estava dentro da pasta "..\base\", acredite ou
não, em uma partição FAT32 - equipamentos rodando Windows XP de
POS/Frente de Caixa de supermercados com uma tentativa de solução
utilizando PostgreSQL "embarcado'.

Agradeço pela observação sobre o meu comentário e não nego a
possibilidade de eu estar confundido e ter viajado legal na maionese.
Como não posso verificar, provar ou simular, melhor ignorar.

P.S: Para ficar menos feio o OP poderia verificar se a partição é
mesmo NTFS, já que é mais fácil corromper arquivos em FAT32 :)

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

Re: [pgbr-geral] Vacuum Full não remove dead rows

2015-11-24 Por tôpico JotaComm
Opa!

Em 24 de novembro de 2015 11:21, Bruno Silva 
escreveu:

> Estou executando um vacuum full que me retorna 121000 dead rows em uma
> tabela que tem 1275820 registros.
> Porém o Vacuum Full sempre alega que não pode removê-las ainda.
> O que pode ocasionar isso?
>

​Qual a mensagem que o vacuum full te retorna?

Qual o resultado da seguinte consulta:

SELECT * FROM pg_stat_user_tables WHERE
pg_stat_user_tables.relname='tabela';​


>
> PostgreSQL 9.3.10 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7
> 20120
> 313 (Red Hat 4.4.7-16), 64-bit
>
> Bruno E. A. Silva.
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



Abraços​

-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Base corrompida

2015-11-24 Por tôpico Bruno Pio
Boa tarde pessoal

Tenho uma base de dados, e dentro dessa base existem diversos schemas.

Ao tentar acessar essa base pelo pgAdmin ocorre a mensagem:

"An error has occurred: ERRO: não pôde abrir o arquivo
"base/10564368/106824370": Invalid argument

Realmente esse arquivo base/10564368/106824370 não existe, mas consigo
acessar a base, porém não aparece nenhum schema no pgAdmin. Sei que eles
estão lá porque pela aplicação eu consigo acesso.

Quando tento gerar um backup dessa base tenho o seguinte retorno:

pg_dump: [arquivador consulta falhou: ERRO: não pôde abrir o arquivo
"base/10564368/106824370": Invalid argument
pg_dump: [arquivador consulta foi: SELECT label, provider, classoid,
objoid, objsubid FROM pg_catalgo.pg_seclabel ORDER BY classoid, objoid,
objsubid

A versão do PostgreSQL é 9.2.4.1 num Windows Server 2008 R2 64 bits.

Alguém tem alguma ideia de como eu posso recuperar essa base? Ao menos
voltar a aparecer os schemas e tentar gerar um backup para retornar uma
nova instalaçã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] Backup

2015-11-24 Por tôpico alfredo júnior

Em 24-11-2015 08:43, Antonio Cesar escreveu:

Bom dia,
Fiz um arquivo .sh para efetuar o dump. Agora estou precisando copiar 
para uma maquina windows, alguem tem algum exemplo?


Compartilhe uma pasta no windows e monte essa pasta no linux, agora é só 
copiar para essa pasta que foi montada no linux.

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

[pgbr-geral] Backup

2015-11-24 Por tôpico Antonio Cesar

Bom dia,
Fiz um arquivo .sh para efetuar o dump. Agora estou precisando copiar 
para uma maquina windows, alguem tem algum exemplo?
<>___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] RES: Backup

2015-11-24 Por tôpico Hugo Quinteiro
Eu faço via BAT, direto pelo Windows, se interessar segue exemplo:

@echo off
title DUMP no PostgreSQL - WebSac
color 2
rem Exportando as variaveis para que nao seja necessario a interacao do
usuario
rem IP do servidor PostgreSQL
set PGHOST=200.1.1.99
rem Caminho para o executável do pg_dump
set PGBINDIR="C:\Arquivos de programas\PostgreSQL\8.4\bin"
rem Porta de acesso ao PostgreSQL
set PGPORT=5432
rem Database que será feito backup
set PGDATABASE=meubanco
rem Usuário da base de dados
set PGUSER=postgres
rem Senha da base de dados
set PGPASSWORD=postgres
rem Diretório de destino do arquivo de dump
set DESTDIR=D:\Backups\Banco

rem Observa‡Æo: Caso queira colocar o nome do backup seguindo de uma data ‚
s¢ usar:
for /f "tokens=1,2,3,4 delims=/ " %%a in ('DATE /T') do set Date=%%b-%%c-%%d
rem O comando acima serve para armazenar a data no formato dia-mes-ano na
vari vel Date;

rem Comando para gerar o DUMP da base de dados
%PGBINDIR%\pg_dump.exe -F c -b -v -f %destdir%\nome_backup%Date%.backup
rem Exit

-Mensagem original-
De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome
de Antonio Cesar
Enviada em: terça-feira, 24 de novembro de 2015 08:43
Para: Comunidade PostgreSQL Brasileira
Assunto: [pgbr-geral] Backup

Bom dia,
Fiz um arquivo .sh para efetuar o dump. Agora estou precisando copiar para
uma maquina windows, alguem tem algum exemplo?

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

Re: [pgbr-geral] Backup

2015-11-24 Por tôpico Sebastian Webber
Em 24 de novembro de 2015 08:43, Antonio Cesar 
escreveu:

> Bom dia,
> Fiz um arquivo .sh para efetuar o dump. Agora estou precisando copiar para
> uma maquina windows, alguem tem algum exemplo?
>

Melhor que isso: um link bonitão da wiki[1]!

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

-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PGBR 2015

2015-11-24 Por tôpico Rafael Fialho
Em 23 de novembro de 2015 15:53, Sebastian Webber 
escreveu:

>
>
> Em 23 de novembro de 2015 14:22, Fernando Ike 
> escreveu:
>
>> Olá,
>>
>>   Gostaria de agradecer à todo que fizeram acontecer a Conferência
>> PostgreSQL Brasil 2015, dos participantes, palestrantes e organização.
>> Especialmente à organização por realizar o evento. :)
>>
>
> :D
>
>
>>
>>   Espero que ano que vem ocorra o evento novamente, afinal serão 10
>> anos!
>>
>
> Quando será que podemos falar em pgbr2016? eu to interessado em ajudar. :D
>

+1!

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

[pgbr-geral] Vacuum Full não remove dead rows

2015-11-24 Por tôpico Bruno Silva
Estou executando um vacuum full que me retorna 121000 dead rows em uma
tabela que tem 1275820 registros.
Porém o Vacuum Full sempre alega que não pode removê-las ainda.
O que pode ocasionar isso?

PostgreSQL 9.3.10 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7
20120
313 (Red Hat 4.4.7-16), 64-bit

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

Re: [pgbr-geral] Insert antes de raise exception

2015-11-24 Por tôpico Flavio Henrique Araque Gurgel

Pessoal,

Dentro de uma função que retorna uma trigger, é possível efetuar um
insert antes de um raise exception?

Por exemplo

IF condicao THEN
INSERT tabela_log...
RAISE EXCEPTION '';
RETURN NULL;
END IF;
RETURN NEW;

A intenção é gravar em uma tabela de log a tentativa de insert.


Quando você faz o RAISE EXCEPTION o que você faz é justamente... uma 
exceção. Logo, um rollback é feito obrigatoriamente.


Para fazer o que você quer, tem que tratar a exceção, um bloco assim no 
fim da função pode te ajudar:

EXCEPTION
WHEN unique_violation THEN
INSERT INTO tabela_log... ;
RETURN outro_valor;
END;

Lembre-se de tratar seu RETURN na chamada da função, porque você *não* 
terá tratamento do rollback de outros comandos numa mesma transação, 
neste caso.


[]s
Flavio Gurgel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Insert antes de raise exception

2015-11-24 Por tôpico Danilo Silva
Pessoal,

Dentro de uma função que retorna uma trigger, é possível efetuar um insert
antes de um raise exception?

Por exemplo

IF condicao THEN
INSERT tabela_log...
RAISE EXCEPTION '';
RETURN NULL;
END IF;
RETURN NEW;

A intenção é gravar em uma tabela de log a tentativa de insert.

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

Re: [pgbr-geral] Insert antes de raise exception

2015-11-24 Por tôpico Danilo Silva
Em 24 de novembro de 2015 11:50, Flavio Henrique Araque Gurgel <
fha...@gmail.com> escreveu:

> Pessoal,
>>
>> Dentro de uma função que retorna uma trigger, é possível efetuar um
>> insert antes de um raise exception?
>>
>> Por exemplo
>>
>> IF condicao THEN
>> INSERT tabela_log...
>> RAISE EXCEPTION '';
>> RETURN NULL;
>> END IF;
>> RETURN NEW;
>>
>> A intenção é gravar em uma tabela de log a tentativa de insert.
>>
>
> Quando você faz o RAISE EXCEPTION o que você faz é justamente... uma
> exceção. Logo, um rollback é feito obrigatoriamente.
>
> Para fazer o que você quer, tem que tratar a exceção, um bloco assim no
> fim da função pode te ajudar:
> EXCEPTION
> WHEN unique_violation THEN
> INSERT INTO tabela_log... ;
> RETURN outro_valor;
> END;
>
> Lembre-se de tratar seu RETURN na chamada da função, porque você *não*
> terá tratamento do rollback de outros comandos numa mesma transação, neste
> caso.
>
> ​Legal Flavio, vou testar, obrigado.

[]s
Danilo​
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Backup

2015-11-24 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2015-11-24 8:43 GMT-02:00 Antonio Cesar :
> Fiz um arquivo .sh para efetuar o dump. Agora estou precisando copiar para
> uma maquina windows, alguem tem algum exemplo?

Use o cygwin.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Backup

2015-11-24 Por tôpico Marcos - GMail
Samba!
Em 24/11/2015 13:36, "Guimarães Faria Corcete DUTRA, Leandro" 
escreveu:

> 2015-11-24 8:43 GMT-02:00 Antonio Cesar :
> > Fiz um arquivo .sh para efetuar o dump. Agora estou precisando copiar
> para
> > uma maquina windows, alguem tem algum exemplo?
>
> Use o cygwin.
>
>
> --
> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
> +55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
> BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
> ___
> 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] Backup

2015-11-24 Por tôpico Rafael Fialho
Em 24 de novembro de 2015 13:36, Guimarães Faria Corcete DUTRA, Leandro <
l...@dutras.org> escreveu:

> 2015-11-24 8:43 GMT-02:00 Antonio Cesar :
> > Fiz um arquivo .sh para efetuar o dump. Agora estou precisando copiar
> para
> > uma maquina windows, alguem tem algum exemplo?
>
> Use o cygwin.
>

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