2009/3/4 JacksonWeber <[email protected]>: > > 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. >
verifique se o processo do banco não fica em waiting. dê uma olhada na documentação[0] e veja se isso[1] ajuda. [0] http://www.postgresql.org/docs/8.0/interactive/ [1] http://www.postgresql.org/docs/8.0/interactive/monitoring.html -- Atenciosamente, Sebastian Selau Webber Colombo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
