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

Responder a