Demora ao instalar os CEPs

491 views
Skip to first unread message

Evandro Mengue - DeltaE Tecnologia da Cor

unread,
Mar 29, 2012, 7:16:33 AM3/29/12
to openerp...@googlegroups.com
Gente, alguém já teve a experiencia de instalar o modulo de CEPs?
No curso foi falado que demorava, mas já estou a quase 24 horas de instalação e ainda não terminou. Pode ter travado a interface ou é assim mesmo?
Se tento abrir uma outra janela ( http://192.168.2.6:8069/web/webclient/homea tela fica em branco.

Evandro Mengue
DeltaE Tecnologia da Cor
Fone: 48 3733-6990
Av. Vereador Nagib Jabor, 372
88090-100 - Florianópolis - SC

www.deltae.com.br



Alexsandro Haag

unread,
Mar 29, 2012, 9:07:07 AM3/29/12
to openerp...@googlegroups.com

Olá Evandro,
  Dê uma monitorada nos logs. La você consegue ver inclusive qual arquivo csv está sendo carregado no momento. É 1 arquivo por UF.

Att.
Alex

Evandro Mengue - DeltaE Tecnologia da Cor

unread,
Mar 29, 2012, 9:26:19 AM3/29/12
to openerp...@googlegroups.com
Oi Alex,
O problema é que quando está instalando, não posso fazer mais nada. A unica coisa que posso fazer é abrir outra janela e abrir outra base pronta. Nem criar uma nova base nao deixa, ou melhor, fica esperando terminar a outra.
Após verificar isso, entendi então que ele realmente está criando a estrutura para os CEPs. Procede, não?
Evandro Mengue
DeltaE Tecnologia da Cor
Fone: 48 3733-6990
Av. Vereador Nagib Jabor, 372
88090-100 - Florianópolis - SC

www.deltae.com.br



Alexsandro Haag

unread,
Mar 29, 2012, 9:44:11 AM3/29/12
to openerp...@googlegroups.com

Sim. Ainda deve estar fazendo a carga dos arquivos.

O log a que eu me refiro não é visível pela web. Para vê-lo precisaria logar no console do seu servidor e, por linha de comando, monitorar o arquivo.

Algo como: tail -f /opt/openerp/log/openerp-server.log

Aí você teria certeza de que o procedimento de carga está executando e veria exatamente de qual estado estaria fazendo a carga no momento.

Alex

Em 29/03/2012 10:26, "Evandro Mengue - DeltaE Tecnologia da Cor" <eva...@deltae.com.br>escreveu:

Oi Alex,
O problema é que quando está instalando, não posso fazer mais nada. A unica coisa que posso fazer é abrir outra janela e abrir outra base pronta. Nem criar uma nova base nao deixa, ou melhor, fica esperando terminar a outra.

Após verificar isso, entendi então que ele realmente está criando a estrutura para os CEPs. Procede, não?

Evandro Mengue
DeltaE Tecnologia da Cor
Fone: 48 3733-6990
Av. Vereador Nagib Jabor, 372

88090-100 -...

Em 29 de março de 2012 10:07, Alexsandro Haag <alexsan...@gmail.com> escreveu:


>
> Olá Evandro,
>   Dê uma monitorada nos logs. La você consegue ver inclusive qual arquivo csv es...


crsilveira

unread,
Mar 29, 2012, 12:12:44 PM3/29/12
to OpenERP Brasil
Olá Evandro, realmente demora um pouco, mas em uma máquina real esta
demora não chega a 4 horas.

On 29 mar, 10:44, Alexsandro Haag <alexsandro.h...@gmail.com> wrote:
> Sim. Ainda deve estar fazendo a carga dos arquivos.
>
> O log a que eu me refiro não é visível pela web. Para vê-lo precisaria
> logar no console do seu servidor e, por linha de comando, monitorar o
> arquivo.
>
> Algo como: tail -f /opt/openerp/log/openerp-server.log
>
> Aí você teria certeza de que o procedimento de carga está executando e
> veria exatamente de qual estado estaria fazendo a carga no momento.
>
> Alex
>
> Em 29/03/2012 10:26, "Evandro Mengue - DeltaE Tecnologia da Cor" <
> evan...@deltae.com.br>escreveu:
>
> Oi Alex,
> O problema é que quando está instalando, não posso fazer mais nada. A unica
> coisa que posso fazer é abrir outra janela e abrir outra base pronta. Nem
> criar uma nova base nao deixa, ou melhor, fica esperando terminar a outra.
> Após verificar isso, entendi então que ele realmente está criando a
> estrutura para os CEPs. Procede, não?
>
> Evandro Mengue
> DeltaE Tecnologia da Cor
> Fone: 48 3733-6990
> Av. Vereador Nagib Jabor, 372
> 88090-100 -...
> Em 29 de março de 2012 10:07, Alexsandro Haag
> <alexsandro.h...@gmail.com>escreveu:

Renato Lima

unread,
Mar 29, 2012, 12:45:18 PM3/29/12
to openerp...@googlegroups.com
Olá Pessoal,


A base de CEPs é um pouco grande mesmo, são cerca de 600 mil registros, mas o fator que leva a demora no momento da instalação deste módulo hoje é que esses dados estão em formato csv e usa a rotina de importação do OpenERP o que é extremamente lento para grandes volumes de dados, mas por outro lado é bem flexível por permitir trabalhar com IDs absolutos e relaciona-los nos dados, como exemplo a tabela de CEP's tem relacionamentos com o município e o estado e nos csv e xml conseguimos relaciona-los.

Estamos pensando na possibilidade de transformar esses dados em csv em um script SQL, e coloca-los em um script SQL a gente vai te que pensar em uma solução para referenciar os dados relacionais como estado e município, e fazer com que ele seja instalado somente na instalação do módulo e não faça a mesma coisa no update, também se alguém tiver alguma ideia é bem vinda !


Um abraço,


Renato Lima
Sócio Diretor
Assinatura_nova.png

Assinatura_nova.png

Vinícios Pereira

unread,
Mar 29, 2012, 1:42:30 PM3/29/12
to OpenERP Brasil
No meu caso aqui comecei a rodar a carga numa sexta-feira por volta
das 15:30 e só acabou no domingo por volta das 17:00. Deixei rodando
se mexer em nada.

Abraços,
Vinícios Pereira

On 29 mar, 13:45, Renato Lima <renatonl...@gmail.com> wrote:
> Olá Pessoal,
>
> A base de CEPs é um pouco grande mesmo, são cerca de 600 mil registros, mas
> o fator que leva a demora no momento da instalação deste módulo hoje é que
> esses dados estão em formato csv e usa a rotina de importação do OpenERP o
> que é extremamente lento para grandes volumes de dados, mas por outro lado
> é bem flexível por permitir trabalhar com IDs absolutos e relaciona-los nos
> dados, como exemplo a tabela de CEP's tem relacionamentos com o município e
> o estado e nos csv e xml conseguimos relaciona-los.
>
> Estamos pensando na possibilidade de transformar esses dados em csv em um
> script SQL, e coloca-los em um script SQL a gente vai te que pensar em uma
> solução para referenciar os dados relacionais como estado e município, e
> fazer com que ele seja instalado somente na instalação do módulo e não faça
> a mesma coisa no update, também se alguém tiver alguma ideia é bem vinda !
>
> Um abraço,
>
> Renato Lima
> Sócio Diretor
> +55 21 3010 9965www.akretion.com
> [image: Assinatura_nova.png]
>
>  Assinatura_nova.png
> 24KExibirDownload

Raphael Valyi

unread,
Mar 29, 2012, 2:07:13 PM3/29/12
to openerp...@googlegroups.com
Outra coisa:

nada depende desse modulo de CEP's no OpenERP. Entao, um bom conselho: e bom fazer todo trabalho de integraçao do OpenERP, de treinamento, de teste, de homologaçao dos processos principais da empresa, de desenvolvimento SEM esse modulo. E so depois que tiver tudo certo muito redondo pronto para produçao, voce podem entao instalar o modulo de CEP's uma noite. Porque nao adiantaria gastar dias fazendo isso se depois e para ver que nao consegue completar uma nota fiscal ou algo assim.

Boa sorte.

-- 
Raphaël Valyi
Founder and consultant

Alexandre Portella Ribeiro

unread,
Mar 29, 2012, 2:37:52 PM3/29/12
to openerp...@googlegroups.com
Será que a configuração da máquina (hardware) onde o sistema está instalado influencia nisso?
Aqui rodamos em máquina virtual e deixamos configurado com 1 giga ram e 4 núcleos de um i7.
Eu disparei o evento da instalação do l10n_br_data_zip ontem às 18h e hoje às 8h estava instalado.

Raphael Valyi

unread,
Mar 29, 2012, 2:56:23 PM3/29/12
to openerp...@googlegroups.com
Ola
uma coisa que influencia muito é a configuraçao do Postgres. Por padrao a configuraçao é vagabunda pois o objetivo é deixar o computador startar rapido em qualquer hardware, mas para usar com o OpenERP em produçao, é altamente recomandado aumentar os parametros de memoria a usar:


-- 
Raphaël Valyi
Founder and consultant


Fabio Negrini

unread,
Mar 29, 2012, 3:46:35 PM3/29/12
to openerp...@googlegroups.com
Uma outra dica é criar um banco vazio, carregar os módulos da localização e os CEPS e fazer um backup. Aí, quando precisar, é só restaurar este backup e começar a trabalhar. Poupa o trabalho de fazer esta carga toda a vez que precisar dela.

Com relação ao tempo. Fiz a carga em uma VM com configuração padrão e ubuntu server rodando de dentro de um notebook core 2 duo windows 7 com 4gb de memória. Na VM configurei 1GB de memória: demorou cerca de 3 horas. Esta VM pode ser baixada no link:

Att,

Fabio

Evandro Mengue - DeltaE Tecnologia da Cor

unread,
Mar 29, 2012, 4:49:29 PM3/29/12
to openerp...@googlegroups.com
vlw pelos esclarecimentos. Só restam mais 24 horas!!!!!

Evandro Mengue
DeltaE Tecnologia da Cor
Fone: 48 3733-6990
Av. Vereador Nagib Jabor, 372
88090-100 - Florianópolis - SC

Raphael Valyi

unread,
Mar 29, 2012, 5:02:37 PM3/29/12
to openerp...@googlegroups.com
On Thu, Mar 29, 2012 at 5:49 PM, Evandro Mengue - DeltaE Tecnologia da Cor <eva...@deltae.com.br> wrote:
vlw pelos esclarecimentos. Só restam mais 24 horas!!!!!

Bom, mas pelo menos depois vc esta arebentando em produçao ja entao se vc segiu minha dica de so botar esse modulo dos CEP's apenas quando tiver tudo redondo ;-)

Márcio Moreira

unread,
Apr 9, 2012, 3:24:07 PM4/9/12
to openerp...@googlegroups.com
Oi Pessoal,

Acho que quebrei o recorde: 73 horas e 41 minutos para a instalação dos CEPs.

Minha máquina é um Core2Duo 2,9 Ghz com 4Gb Ram e Ubuntu 10.04 Desktop. Foram instalados apenas os módulos l10n_br_data_zip (CEPs) e l10n_br_base. Como deu para perceber, meu PostgreSQL não foi "tunado", permanecendo na configuração original.

Resolvi compartilhar o resultado com a comunidade. Salvei o banco de dados e postei aqui:


Para restaurar o banco de dados:

    createdb -U usuário novo_banco
    gunzip -c banco_arquivado.gz | psql -U usuário novo_banco

O usuário é openuser.
A senha do admin é teste.

Saudações a todos,
Márcio Moreira

Daniel Viana Auler

unread,
Apr 9, 2012, 3:28:37 PM4/9/12
to openerp...@googlegroups.com
Demorou d+, no meu banco não tunado instalei em 4 horas, quadricore com 4gb de ram e windão.
--
Att,

Daniel Viana Auler
dan...@dvasolucoes.com.br
Tel/Fax: 51-32094858
Cel: 51-81313458
DVA Soluções em TI

Fabio Negrini

unread,
Apr 9, 2012, 3:51:01 PM4/9/12
to openerp...@googlegroups.com
Fiz agora mesmo uma carga dos CEPs na versão 6.1 dentro de uma VM Ubuntu Server. Utilizei a interface web client (não usei comando shell) e demorou 1:20 para subir todos os CEPs

Acompanhei a carga no log, posto abaixo:

2012-04-09 18:21:44,024 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/ac/l10n_br_base.zip.csv
2012-04-09 18:21:50,138 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/al/l10n_br_base.zip.csv
2012-04-09 18:22:31,801 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/am/l10n_br_base.zip.csv
2012-04-09 18:23:34,280 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/ap/l10n_br_base.zip.csv
2012-04-09 18:23:42,397 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/ba/l10n_br_base.zip.csv
2012-04-09 18:27:54,492 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/ce/l10n_br_base.zip.csv
2012-04-09 18:29:54,660 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/df/l10n_br_base.zip.csv
2012-04-09 18:30:22,370 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/es/l10n_br_base.zip.csv
2012-04-09 18:32:57,480 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/go/l10n_br_base.zip.csv
2012-04-09 18:36:48,249 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/ma/l10n_br_base.zip.csv
2012-04-09 18:37:30,045 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/mg/l10n_br_base.zip.csv
2012-04-09 18:45:04,146 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/ms/l10n_br_base.zip.csv
2012-04-09 18:46:15,052 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/mt/l10n_br_base.zip.csv
2012-04-09 18:47:17,517 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/pa/l10n_br_base.zip.csv
2012-04-09 18:49:13,810 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/pb/l10n_br_base.zip.csv
2012-04-09 18:50:14,066 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/pe/l10n_br_base.zip.csv
2012-04-09 18:54:25,284 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/pi/l10n_br_base.zip.csv
2012-04-09 18:54:54,104 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/pr/l10n_br_base.zip.csv
2012-04-09 18:59:41,021 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/rj/l10n_br_base.zip.csv
2012-04-09 19:06:48,219 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/rn/l10n_br_base.zip.csv
2012-04-09 19:07:54,146 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/ro/l10n_br_base.zip.csv
2012-04-09 19:08:13,979 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/rr/l10n_br_base.zip.csv
2012-04-09 19:08:28,457 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/rs/l10n_br_base.zip.csv
2012-04-09 19:12:06,833 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/sc/l10n_br_base.zip.csv
2012-04-09 19:14:59,478 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/se/l10n_br_base.zip.csv
2012-04-09 19:15:18,638 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/sp/l10n_br_base.zip.csv
2012-04-09 19:41:34,784 972 INFO apresentacao openerp.modules.loading: module l10n_br_data_zip: loading zip/to/l10n_br_base.zip.csv
2012-04-09 19:42:24,502 972 WARNING apresentacao openerp.addons.base.module.module: module l10n_br_data_zip: no translation for language pt

Iniciou 18:21 e finalizou 19:42.

Leonardo Santagada

unread,
Apr 10, 2012, 12:21:18 PM4/10/12
to openerp...@googlegroups.com

Muito legal, eu estava pensando em fazer algo assim, tu não poderia
fazer melhor ainda, fazer um dump só da tabela de ceps no formato do
pgdump que ele salva sql? Assim ao invés de horas/dias só é preciso
subir uma tabela pro banco (que leva segundos/minutos).

Rolf Jansen

unread,
Apr 29, 2012, 12:14:45 PM4/29/12
to openerp...@googlegroups.com
Am Donnerstag, 29. März 2012 13:45:18 UTC-3 schrieb Renato Lima:
A base de CEPs é um pouco grande mesmo, são cerca de 600 mil registros, mas o fator que leva a demora...

... se alguém tiver alguma ideia é bem vinda !

Olá,

Cancelei a instalação após 72 horas do processo postgres ficava rodando com 100 % de utilização do um núcleo do processador. Não tinha mais esperança, e desenvolvei durante nesse tempo inútil um SQL-script que resolver o problema em menos de 5 minutos. Gostaria de compartilhar o script com vocês:

-- COMEÇO DO SQL-SCRIPT

-- 1. cria uma tabela temporária para as cidades e importar as a partir do arquivo csv
--    precisa adaptar o caminho absoluto (aqui em vermelho)
CREATE TABLE temp_l10n_br_base_city (id serial NOT NULL,city_id text,name text,state_id text,ibge_code text);
COPY temp_l10n_br_base_city (city_id,name,state_id,ibge_code) FROM '/usr/local/openerp/br/l10n_br_base/l10n_br_base.city.csv' (FORMAT csv, HEADER);
UPDATE temp_l10n_br_base_city SET city_id=lower(city_id);

-- 2. cria uma tabela temporária para os CEP's e importar os a partir dos arquivos .csv 
--    precisa adaptar o caminho absoluto (aqui em vermelho)
CREATE TABLE temp_l10n_br_base_zip (id text,state_id text,code text,street text,street_type text,district text,city_id text,country_id text);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/ac/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/al/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/am/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/ap/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/ba/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/ce/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/df/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/es/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/go/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/ma/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/mg/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/ms/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/mt/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/pa/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/pb/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/pe/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/pi/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/pr/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/rj/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/rn/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/ro/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/rr/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/rs/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/sc/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/se/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/sp/l10n_br_base.zip.csv' (FORMAT csv, HEADER);
COPY temp_l10n_br_base_zip FROM '/usr/local/openerp/br/l10n_br_data_zip/zip/to/l10n_br_base.zip.csv' (FORMAT csv, HEADER);

-- 3. Apagar o conteúdo da tabela de CEP's e reiniciar a seqüência
DELETE FROM l10n_br_base_zip;
ALTER SEQUENCE l10n_br_base_zip_id_seq RESTART WITH 1;

-- 4. Inserir os dados temporários na tabela de CEP's  
INSERT INTO l10n_br_base_zip (create_uid,create_date,write_date,write_uid,code,l10n_br_city_id,street,district,state_id,country_id,street_type)
  SELECT
    1 AS create_uid,
    CURRENT_TIMESTAMP AS create_date,
    NULL AS write_date,
    NULL AS write_uid,
    temp_l10n_br_base_zip.code AS code, 
    temp_l10n_br_base_city.id AS l10n_br_city_id, 
    temp_l10n_br_base_zip.street AS street, 
    temp_l10n_br_base_zip.district AS district, 
    res_country_state.id AS state_id, 
    res_country.id AS country_id, 
    temp_l10n_br_base_zip.street_type AS street_type
  FROM 
    temp_l10n_br_base_zip
    LEFT OUTER JOIN temp_l10n_br_base_city ON (substring(temp_l10n_br_base_zip.city_id from 14) = temp_l10n_br_base_city.city_id)
    LEFT OUTER JOIN res_country ON (upper(substring(temp_l10n_br_base_zip.country_id from 6)) = res_country.code)
    LEFT OUTER JOIN res_country_state ON (upper(substring(temp_l10n_br_base_zip.state_id from 17)) = res_country_state.code AND res_country_state.country_id = res_country.id)
  ORDER BY
    temp_l10n_br_base_zip.code ASC;

-- 5. Apagar as tabelas temporárias
DROP TABLE temp_l10n_br_base_city;
DROP TABLE temp_l10n_br_base_zip;

-- FIM

Copiar/colar tudo entre --COMEÇO e --FIM no um arquivo CEPs.sql e salvar-lo no servidor aonde os CEP's precisam ser importado. Adaptar o caminho absoluto para os arquivos .csv

Faz um backup dos seus dados, e aplica o script com o comando a seguir, adequadamente substituindo usuário_admisistrativo e banco_de_dados: 

# psql -U usuário_admisistrativo -W banco_de_dados < CEPs.sql


Saudações

Rolf



Leonardo Santagada

unread,
Apr 30, 2012, 12:42:19 PM4/30/12
to openerp...@googlegroups.com
2012/4/29 Rolf Jansen <cycl...@gmail.com>:
> Copiar/colar tudo entre --COMEÇO e --FIM no um arquivo CEPs.sql e salvar-lo
> no servidor aonde os CEP's precisam ser importado. Adaptar o caminho
> absoluto para os arquivos .csv
>
> Faz um backup dos seus dados, e aplica o script com o comando a seguir,
> adequadamente substituindo usuário_admisistrativo e banco_de_dados:
>
> # psql -U usuário_admisistrativo -W banco_de_dados < CEPs.sql

Qual é a diferença de usar o teu script para o de usar um dump das
tabelas de cep de uma importação?

Márcio Moreira

unread,
Apr 30, 2012, 1:34:16 PM4/30/12
to openerp...@googlegroups.com

Só lembrando ao amigos,

Colocamos à disposição da comunidade um banco de dados OpenERP 6.1 com os CEPs já instalados. O único módulo instalado neste banco é o dos CEPs. O banco de dados está aqui: http://openerpbrasilvm.sourceforge.net/

Saudações,
Márcio Moreira

PS: Rolf, acho que - como você parou a instalação com 72h - o recorde permanece meu: 73h41min para instalar os CEPs :-)

Rolf Jansen

unread,
Apr 30, 2012, 2:10:52 PM4/30/12
to openerp...@googlegroups.com
Am Montag, 30. April 2012 13:42:19 UTC-3 schrieb Leonardo Santagada:
> # psql -U usuário_admisistrativo -W banco_de_dados < CEPs.sql

Qual é a diferença de usar o teu script para o de usar um dump das
tabelas de cep de uma importação?

Na verdade falamos somente sobre uma tabela de CEP, mas o dump no sourceforge.net contém 118 tabelas. Realmente pensei de experimentar com um importação desse dump, mas não quis correr o risco de efeitos colaterais nas outras 117 tabelas. Meu script alterar somente a única tabela para os CEPs i.e. l10n_br_base_zip. O script utilizar os dados .csv originais para importação, e principalmente o processo de importação pode ser repetido com dados atualizados em qualquer momento sem nenhum efeito nas outras tabelas.

Rolf Jansen

unread,
Apr 30, 2012, 2:21:09 PM4/30/12
to openerp...@googlegroups.com
Realmente o trabalho seu é bom. No meu caso, fiz tudo o trabalho de configurar meu sistema já, e deixei, conforme o conselho do Renato Lima, a importação dos CEPs para o fim. Mas seu dump deve ser importado bem no inicio, antes de todos os outros etapas de configuração. Simples, não quis fazer tudo de novo. Com meu script, os CEPs podem ser atualizados através dos arquivos .csv originais em qualquer momento, independente do estado dos e sem efetuar os outros tabelas do banco de dados.

Saudações

Rolf

Leonardo Santagada

unread,
Apr 30, 2012, 2:55:42 PM4/30/12
to openerp...@googlegroups.com
Em 30 de abril de 2012 15:21, Rolf Jansen <cycl...@gmail.com> escreveu:
> Realmente o trabalho seu é bom. No meu caso, fiz tudo o trabalho de
> configurar meu sistema já, e deixei, conforme o conselho do Renato Lima, a
> importação dos CEPs para o fim. Mas seu dump deve ser importado bem no
> inicio, antes de todos os outros etapas de configuração. Simples, não quis
> fazer tudo de novo. Com meu script, os CEPs podem ser atualizados através
> dos arquivos .csv originais em qualquer momento, independente do estado dos
> e sem efetuar os outros tabelas do banco de dados.

O teu trabalho também é muito legal, mas eu estou pensando numa
solução definitiva para a localização brasil. Esses csvs foram
montados de algum lugar, to pensando em fazer um script que já coloca
tudo num arquivo .sql para ser puxado direto pro postgresql, que é bem
mais rápido do que o método atual. Quando sobrar um tempo eu dou uma
olhada boa nisso, valeu pela explicação.

Rolf Jansen

unread,
Apr 30, 2012, 7:58:56 PM4/30/12
to openerp...@googlegroups.com
Am Montag, 30. April 2012 15:55:42 UTC-3 schrieb Leonardo Santagada:

... to pensando em fazer um script que já coloca
tudo num arquivo .sql para ser puxado direto pro postgresql, que é bem
mais rápido do que o método atual. Quando sobrar um tempo eu dou uma
olhada boa nisso, valeu pela explicação.

O importação dos .cvs nas tabelas temporárias pelo os comandos COPY ocorreu bem rápido, menos que 60 s para todos os dados.

As interligações entre os dados pelo o comando INSERT INTO SELECT levou mais ou menos 4 min no um sistema fraco com Dual Core Atom 1,6 GHz.

A mesma coisa levou mais que 72 hora, nem chegando no fim, quando os dados foram primeiramente transformado para XML e depois para SQL. Então, o problema não é o formato .cvs, nem a interligação. O problema é de deixar entrar XML no meio. De qualquer forma retira o XML no meio, e tudo está resolvido.

Saudações

Rolf

Márcio Moreira

unread,
May 1, 2012, 12:04:22 PM5/1/12
to openerp...@googlegroups.com
Amigos,

Atendendo atrasado à solicitação do Leonardo, subi para o http://openerpbrasilvm.sourceforge.net/ um arquivo apenas com o dump da tabela dos CEPs. Está sob o mesmo botão "Banco de dados - CEPs - 09/abr/2012". 

O banco de dados que já estava lá tem muitas tabelas porque é a instalação "crua" do OpenERP (internacional) e mais o módulo l10n_br_data_zip com todas as suas dependências.

Raphael Valyi

unread,
May 1, 2012, 12:59:53 PM5/1/12
to openerp...@googlegroups.com
Pessoal,

logico que seria bom alguem melhorar a velocidade de importaçao dos CEP's. Se for para usar um dump de tabelas, vai ter que tomar cuidado com as referenciais aos ids, das cidades por exemplo. Pois se voce instala os CEP's depois, por examplo depois de dados de demos, depois de uma outra localizaçao, ou depois de cadastar algums dados, os ids podem estar diferentes para cada instalaçao. Entao nao é infasivel, mas nao é trivial tambem nao.

Mas principalmente, hoje eu nao accredito que alguem vai implementar o OpenERP em menos de 20 dias de trabalho (apesar que existem projetos mais faceis, na Akretion a gente nem se mexe para projetos de menos de 40 dias de trabalho, é sao 40 dias de trabalho para nos que temos uns 4 anos de experiença com OpenERP...). E CEP's é a coisa que menos vai dar dor de cabeça (vai ter muito mais dor de cabeça com a gestao financeira ou de produçao ou de projetos por examplo). Entao, se leva 4h no final desses 20 dias para instalar os CEP's eu acho que nao é um problema muito importante. Enfim, simplesmente acho que nos temos problemas muito mais importantes, como os CNAB's ou melhorias da gestao financeira em geral.

Enfim, de qualquer forma, qualquer melhoria é sempre bem vinda. So explico porque a gente nunca focou muito nisso ate agora.


Abraço

Cloves Almeida

unread,
Jun 29, 2012, 5:26:32 PM6/29/12
to openerp...@googlegroups.com
Desculpa voltar nesse assunto, mas vou sugerir uma outra solução. Porque não manter os CEPs fora do banco de dados? Pode-se usar o módulo 'anydbm' ( http://docs.python.org/library/anydbm.html#module-anydbm).

Vejo várias vantagens:
1) tempo de instalação do módulo passa de horas para zero.
2) o BD não fica gigante - facilita o backup.
3) permite trocar a bases de dados se for usar, por exemplo, a base oficial e atualizada dos Correios. É só montar um script para gerar o arquivo DB.

Cloves Almeida

Raphael Valyi

unread,
Jun 29, 2012, 5:53:13 PM6/29/12
to openerp...@googlegroups.com
algumas consideraçoes:

Pode ser soluçoes de integraçoes de usar banco externo ou webservice sim. Acho que aqui ninguem quer impor nada a ninguem, se aparece alternativas legais, o pessoal vai usar. Mas a menos se eu perdi algo, se for algo externo eu accredito que isso é uma infraestrutura que vai mais interessar os integradores especializados do que os caras que tentam usar por conta propria.

Recentemente, num projeto no Parana, a gente pegou uns 3 dias tambem para instalar os CEP's. Pior que o servidor é bom. A gente realmente suspeita que a parametrizaçao dos Postgres faz muita diferença, pois a gente tb ja viu rodar em 2 horas em hardware comparaveis (e 2 horas de espera uma noite no final de um projeto que leva 3 meses para ir para produçao, eu nao considero que seja tao critico). Mas vamos ter que investigar a influença da configuraçao do Postgres.

Agora falando de tamanho de banco de dados outra coisa: recentemente um cliente em SP com uns 100 usuarios e dezenas de milhares de produtos tomou a iniciativa de botar imagens de produtos dentro do campo de imagen de produto nativo do OpenERP. Logo o banco chegou a pesar mais de 2 Go, nao dava mais para mandar os backups num outro servidor, ia explodir... A gente fez um scriptzinho para migrar para o modulo product_image_olbs (entao imagens no sistema de arquivo), ai o banco voltou a pesar apenas 35 Mo...
Entao nao é so os CEP's que podem ferrar o banco, tem bastante pegadinhas no caminho...


Abraço e obrigado pela sugestao Colves.


-- 
Raphaël Valyi
Founder and consultant




2012/6/29 Cloves Almeida <cjal...@gvmail.br>

Leonardo Santagada

unread,
Jun 29, 2012, 6:49:40 PM6/29/12
to openerp...@googlegroups.com
se for usar um banco externo o mais fácil seria usar o sqlite que vem
no open... o anydbm era até onde eu lembro péssimo no windows. mas eu
pessoalmente vejo isso mais como uma incomodação a mais no deploy...
teria que pensar bastante sobre isso.

Ulisses Jensen

unread,
Jun 30, 2012, 11:50:53 AM6/30/12
to openerp...@googlegroups.com
Aproveitando que o assunto voltou, hoje resolvi instalar os CEPs em minha instalação do Open.

Rodo o OpenERP em uma VM Ubuntu, no Parallels, definida com 4 processadores e 2Gb de RAM. Fiz alguns tunnings no postgre, conforme sugerido pelo Raphael.

Pela interface web, agendei para instalar o modulo de ceps e iniciei o meu openerp pelo console com o parametro "-u all" para atualizar a minha base.

Ele atualizou a base, instalou o modulo de CEPs e carregou os csv. Não levou nem 20 minutos. Eu conferi pela interface web e o modulo de CEPs está devidamente instalado.

Agora minha duvida. Nunca usei o módulo de CEPs antes, mas eu imaginava que após instalado, quando eu fosse, por exemplo, cadastrar um cliente, bastaria digitar o CEP para ele buscar o restante das informações (ex: cidade, estado, etc). Isso deveria acontecer mesmo ou este módulo tem outra finalidade ?

Quando vou cadastrar um novo cliente o botão "Pesquisa CEP" aparece desabilitado :(

Obrigado,

2012/6/29 Leonardo Santagada <sant...@proge.com.br>

Raphael Valyi

unread,
Jul 1, 2012, 7:10:16 AM7/1/12
to openerp...@googlegroups.com
2012/6/30 Ulisses Jensen <ulisses...@gmail.com>

Aproveitando que o assunto voltou, hoje resolvi instalar os CEPs em minha instalação do Open.

Rodo o OpenERP em uma VM Ubuntu, no Parallels, definida com 4 processadores e 2Gb de RAM. Fiz alguns tunnings no postgre, conforme sugerido pelo Raphael.

Pela interface web, agendei para instalar o modulo de ceps e iniciei o meu openerp pelo console com o parametro "-u all" para atualizar a minha base.

Ele atualizou a base, instalou o modulo de CEPs e carregou os csv. Não levou nem 20 minutos. Eu conferi pela interface web e o modulo de CEPs está devidamente instalado.

Agora minha duvida. Nunca usei o módulo de CEPs antes, mas eu imaginava que após instalado, quando eu fosse, por exemplo, cadastrar um cliente, bastaria digitar o CEP para ele buscar o restante das informações (ex: cidade, estado, etc). Isso deveria acontecer mesmo ou este módulo tem outra finalidade ?

Quando vou cadastrar um novo cliente o botão "Pesquisa CEP" aparece desabilitado :(

Ola Ulisses,

Se nao me engano, seria a seguiente explicaçao: nos widges many2many, o OpenERP nao deixa usar botoes se o registro ainda nao é salvo no banco, o que deve acontecer quando voce cadastra um cliente novo. Tenta salvar o parceiro primeiro para ver se o botao nao passa a ser habilitado. Confesso que esse comporamento é um pouco chato mesmo, mas é um limitaçao do framework que fica dificil mudar sem ter que tocar ate nos clientes web e GTK.

Nota: na versao 7, isso vai mudar e eu acho que vai ficar mais integrado o lance das pessoas fisicas e juridicas com o OpenERP nativo, veja so:
Agora, a migraçao para versao 7 vai ser bem foda, disso nao tenho duvida...


Abraço

-- 
Raphaël Valyi
Founder and consultant

 

Raphael Valyi

unread,
Jul 1, 2012, 7:11:44 AM7/1/12
to openerp...@googlegroups.com
Ola Ulisses,

Se nao me engano, seria a seguiente explicaçao: nos widges many2many, o OpenERP nao deixa usar botoes se o registro ainda nao é salvo no banco, o que deve

Escrevi rapido demais, eu qui dizer os widgets one2many
Reply all
Reply to author
Forward
0 new messages