Você está dizendo que se você executar? BEGIN WORK; DECLARE CUR1 SCROLL CURSOR FOR SELECT * FROM SPTABELA1 WHERE CHAVE = '011'; FETCH FORWARD 1 FROM CUR1;
E em outra seção executar: vacuum analyze sptabela1; O processo de vacuum fica travado é isso? Neste modo funciona ele roda e naum trava. Se eu simplesmente mudar para WHERE CHAVE > '011'; Então ele trava e naum aparece vacuum waiting, simplesmente vacuum e fica até quando eu mato o processo através do kill. O comando que eu executo sempre a madrugada é vacuumdb -a -z -v > /backup/vacuum.out 2>&1; isso após a conclusão do backup. O que acontece que na aplicação cliente os relatório é com chave ou qualquer outro parâmetro ">", nunca "=". Até pensei que poderia ser pelo uso do cursor. O que tenho que deixar bem claro tb é quando é executado o vacuum sempre alguma estação a noite é deixado rodando relatório, cujo um exemplo de sql está descrito acima. ----- Original Message ----- From: "JotaComm" <jota.c...@gmail.com> To: "Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.org.br> Sent: Wednesday, March 04, 2009 6:53 PM Subject: Re: [pgbr-geral] Problemas no vacuum Olá, Jackson Deixa eu entender uma coisa. 2009/3/4 JacksonWeber <jackso...@brturbo.com.br>: > > Pessoal, espero a ajuda de alguém. > Na empresa onde trabalho, desenvolvemos softwares municipal, utilizando > como > banco de dados postgresql na sua versão homologada 8.0.6. > Estou tendo um problema de ocorrência do vacuum ficar travado quando é > realizado uma ocorrência da linha de código, como no exemplo abaixo: > > O Código SQL abaixo pode ser utilizado para simular este problema. > > --Problema enfrentado no PostreSQL quando rodar vacuum > > --Criar a tabela > drop table sptabela1 cascade; > CREATE TABLE sptabela1 > ( > chave character varying(20) NOT NULL, > conteudo character varying(60), > CONSTRAINT pk_sptabela1 PRIMARY KEY (chave) > ) > WITH OIDS; > ALTER TABLE sptabela1 OWNER TO dicionario; > > --Inserir registros > INSERT INTO sptabela1 VALUES ('01100310000000000000','BACKUP Contab06 > 2211200717160002CPKZIP N'); > > --Iniciar transação e declarar cursor > --ROLLBACK; > BEGIN WORK; > DECLARE CUR1 SCROLL CURSOR FOR > SELECT * FROM SPTABELA1 > WHERE CHAVE > '011'; --00310000000000000'; > --Fazer um tech > FETCH FORWARD 1 FROM CUR1; > > --Em outra conexão executar o vacuum na tabela.... > VACUUM ANALYSE sptabela1; > > O que percebi que na clausula where se eu mudar de > para = o vacuum > realiza. Você está dizendo que se você executar? BEGIN WORK; DECLARE CUR1 SCROLL CURSOR FOR SELECT * FROM SPTABELA1 WHERE CHAVE = '011'; FETCH FORWARD 1 FROM CUR1; E em outra seção executar: vacuum analyze sptabela1; O processo de vacuum fica travado é isso? []s > > Desde já agradeço pessoal. > -- > View this message in context: > http://www.nabble.com/Problemas-no-vacuum-tp22337807p22337807.html > Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- JotaComm http://jotacomm.wordpress.com http://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