Em 3 de junho de 2014 10:04, Danilo Silva <[email protected]>
escreveu:

>
>
>
> Em 3 de junho de 2014 09:41, Rafael Fialho <[email protected]>
> escreveu:
>
>  Flavio
>>> Bom dia.
>>>
>>> Não posso utilizar o mecanismo de bulk loading pois estou importando
>>> dados de outro SGBD.  *(SGBD Origin -> DataTransfer -> SGBD PostgreSQL)*
>>>
>>> O intrigante é que o PostgreSQL está praticamente ocioso sem carga de
>>> processamento e consumo de memória.
>>>
>>> Estou executando um processo de transferência de dados faz umas 10 horas
>>> e até o momento só consegui inserir 2 milhões de registros sendo que a
>>> minha previsão inicial 550 mil por hora furou tendo em vista que a
>>> performance foi degradando ao longo do tempo.
>>>
>>> Aguardo considerações.
>>>
>>
>> Qual a configuração de discos que estás utilizando? E além disso, como
>> estão configurados os diretórios do PostgreSQL?
>> Existe separação do log de transações? (pg_xlog)
>>
>> Isso é muito importante e acredito que não foi levado em consideração, ou
>> me perdoe se eu perdi alguma mensagem, pois estou utilizando a importação
>> dos e-mails pra outra conta..
>>
>> Procure verificar no top ou no próprio psql, através da monitoração da
>> view "pg_stat_activity", qual comando está sendo realizado neste momento,
>> pra podermos identificar o que está "travando" o processo.
>>
>> ​Você não informou como é essa carga de dados (colunas envolvidas, tipo
> de dado das colunas, etc). Verifique se na(s) tabela(s) envolvida(s) contém
> triggers e/ou rules, como dito anteriormente, verifique também se existem
> índices e constraints, se existir, remova, execute a carga de dados e
> depois crie novamente​.
>
> Veja o exemplo abaixo:
>
> CREATE TEMP TABLE _carga (codigo serial PRIMARY KEY, numero integer);
> INSERT INTO _carga (numero) (SELECT generate_series(1,35000000));
>
> NOTICE:  CREATE TABLE will create implicit sequence "_carga_codigo_seq"
> for serial column "_carga.codigo"
> NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
> "_carga_pkey" for table "_carga"
> Query returned successfully: 35000000 rows affected, 127810 ms execution
> time.
>
> 2 minutos para inserir 35 milhões de registro, é um exemplo *tosco*, só
> fiz mesmo para que você veja como está fazendo a sua carga de dados.
>
> []s
> Danilo
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
Danilo
Bom dia.

A tabela que está recebendo a carga de dados não possui pk, fk, index e
triggers associadas.
Segue abaixo a estrutura da tabela que está recebendo a carga de dados.

CREATE TABLE log_campo
(
  id_log_campo bigint NOT NULL,
  id_log_operacao bigint NOT NULL,
  nome_campo character varying(31) NOT NULL,
  valor_anterior character varying(4096),
  valor_atual character varying(4096),
  valor_anterior_blob bytea,
  valor_atual_blob bytea
)
WITH (
  OIDS=FALSE,
  toast.autovacuum_enabled=false
);

-- 

Atenciosamente,

André Geraldo dos Santos
Certified Delphi® Developer XE2
Analista Desenvolvedor e Consultor
Belo Horizonte / Minas Gerais
E-mail:[email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a