Em 26 de maio de 2011 13:42, Rieg - JP <[email protected]> escreveu:
> Bom dia!
>
> Eu estou com uma dúvida referente ao uso de processamento do banco de dados
> PostgreSQL em algumas rotinas de manutenção.
>
> Quando executo o pg_dump ou até o pg_dumpall, o SO executa o comando em
> multiprocesso utilizando assim melhor o processamento do hardware, porém
> quando executo um restore de um dump com o psql, o SO fica utilizando 100%
> de um dos processadores apenas.

Que eu saiba, durante o pg_dump ou pg_dumpall só existe consumo de um
processo do PostgreSQL e, consequentemente, uma CPU.

> Isso acontece principalmente no momento em que é criado os índices nas
> tabelas.
>
> Isto é realmente normal, ou existe alguma configuração a ser feita no
> PostgreSQL ou no próprio SO?

É normal. Apenas um processo do PostgreSQL é usado e uma CPU
consumida. É uma característica da arquitetura do PostgreSQL.

> O Sistema operacional e Hardware cujo qual eu constatei que isto está
> acontecendo, é o CentOS 5.x com processador Xeon x3430 com 6GB de memoria, e
> também no Debian com processador Xeon quad core 2,4GHz com 16GB de memoria.
> Em ambas estou utilizando a versão 9.0.3, compilada diretamente no SO e o SO
> é x64.

Você tem de usar o pg_restore e a opção -j, a partir da versão 8.4.
Ele fará jobs paralelos na hora de criar alguns índices (várias
conexões com vários trabalhos simultâneos), aproveitando melhor a
máquina e diminuindo o tempo de restauração do banco.

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

Responder a