Re: [pgbr-geral] Base corrompida
Em 24 de novembro de 2015 17:23, Fabrízio de Royes Melloescreveu: > 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
Em 24 de novembro de 2015 23:39, Dickson S. Guedesescreveu: > 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
Opa! Em 24 de novembro de 2015 11:21, Bruno Silvaescreveu: > 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
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
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
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
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
Em 24 de novembro de 2015 08:43, Antonio Cesarescreveu: > 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
Em 23 de novembro de 2015 15:53, Sebastian Webberescreveu: > > > 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
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
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
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
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 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
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
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