O Mapa das Organizações da Sociedade Civil é uma das mais novas bases de dados do Portal Brasileiro de Dados Abertos. Fui tentar extrair algumas informações dessa base e tive um pouco de dificuldade para importá-la. Então, vou descrever aqui o processo que segui para tanto.
Antes de começar o "passo a passo", vale destacar que:
Mas vamos ao que interessa, o processo de "setup" e importação da base.
Estou descrevendo a minha experiência, que foi com um sistema debian-like (pode ser Debian, Ubuntu, Mint, Kubuntu, etc etc etc).
O primeiro passo foi instalar o PostgreSQL e o PostGis. Como nos repositórios do meu sistema operacional a versão mais nova de ambos os softwares eram 9.1 e 1.5, respectivamente, que são bem antigas, optei por adicionar um repositório com versões mais recentes, primeiro vamos abrir o arquivo abaixo:
sudo gedit /etc/apt/sources.list.d/postgresql.list
Em seguida adicionamos o seguinte conteúdo nele e salvamos:
deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
Agora precisamos adicionar a "chave de autenticação" do repositório:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add
Agora atualizamos os pacotes dos repositórios:
sudo aptitude update
sudo aptitude safe-upgrade
E agora vamos, de fato, à instalação do PostgreSQL:
sudo aptitude install postgresql-9.3 postgresql-9.3-postgis-2.1 postgresql-9.3-postgis-scripts postgresql-common postgresql-contrib-9.3 postgis
Após finalizar a instalação, o primeiro passo é configurar o PostGis, então vamos logar com o usuário recém criado postgres:
sudo su - postgres
Agora entramos na linha de comando do postgres:
psql
Agora executamos os comandos SQL para instalar o PostGis:
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
Agora vamos criar um usuário para você no SGBD (aqui você deve usar o mesmo nome de usuário que você usa no seu sistema operacional):
CREATE USER <seu_nome_de_usuario> WITH PASSWORD 'oscs_password';
Agora criamos a base de dados que vai receber os dados:
CREATE DATABASE oscs WITH OWNER=<seu_nome_de_usuario>;
Por fim, devemos prosseguir à importação, mas antes temos que voltar ao nosso usuário padrão do sistema operacional. Então saímos do shell do PostgreSQL com o comando:
\q
O próximo passo é sair do usuário postgres, com o comando:
exit
Agora, já de volta ao nosso usuário padrão, baixamos a base de dados e a descompactamos na pasta de nossa preferência (vou usar a home do usuário).
O passo seguinte é fazer a importação. Lembrando que o arquivo descompactado não possui extensão ("mapa-oscs"), mas isso não muda nada.
Então o comando para realizar a importação é:
psql -f mapa-oscs oscs
Neste caso, psql é o programa do postgres em si, mapa-oscs é o arquivo de dump em texto plano e oscs é o nome da base de dados para onde serão importados os dados.
Pronto, agora a base já deve ter sido importada, talvez com alguns errinhos, mas já deve estar funcional. =)
Espero ter ajudado!
Abraços e até a próxima!
8 comments
elogio
Enviado por JORGE ABILIO em qui, 05/06/2014 - 09:20Parabens !
Excelente artigo, voce pensou em todos os niveis de usuarios.
Continue assim.
Ajuda com erro.
Enviado por Anônimo em sab, 18/10/2014 - 00:22Primeiramente muito grato pelo suporte prestado com a leitura desta base!!! Decorrente disso passei a conhecer um pouco mais sobre BD e postgresql!!
Segui os procedimentos de instalação e importação da base, durante o processo as linhas que seguem ficaram aparecendo em sequência por pouco mais de um minuto:
psql:mapa-oscs:1687761: invalid command \N
psql:mapa-oscs:4077461: invalid command \.
ao que essa mensagem de erro foi devolvida:
psql:mapa-oscs:5665445: ERROR: out of memory
DETAIL: Cannot enlarge string buffer containing 0 bytes by 1113468081 more bytes.
Sabem me orientar em como solucionar este caso?
Já agradeço antecipadamente pelo espaço!!
:)
Sobre o primeiro erro,
Enviado por diraol em qua, 22/10/2014 - 14:05Sobre o primeiro erro, recomendo a leitura desta pergunta no stackoverflow:
http://stackoverflow.com/questions/20427689/psql-invalid-command-n-while...
Sobre o segundo problema, pode ser uma consequência dos erros anteriores. Ou pode ser que faltou espaço para sua instalação do postgresql importar toda a base de dados (que é grande).
Isso é o que eu consigo pensar assim, de bate-pronto.
Espero que ajude!
Abraços
Informação
Enviado por Anônimo em seg, 12/01/2015 - 23:57Olá, parabéns pela perfeita explanação!
Tenho uma dúvida apenas. No mapa disponível online, são exibidas aproximadamente 11.000 organizações. Minha dúvida: Alguém poderia me informar o total de organizações (ONGs) contidas neste DB? São as 303.000 OSCs ou somente 11.000 (aproximadamente).
Agradeço muito a atenção que possa merecer!
Att.,
Bruno Rabelo
Ajuda
Enviado por Anônimo em sab, 21/03/2015 - 20:38Tenho poucos conhecimentos em PostgreSQL. Meu interesse é explorar a base.
Como faço para importar a base usando PostgreSQL no Windows 7? Como importar base usando o PgAdmin III?
Olá, infelizmente não tenho
Enviado por diraol em qua, 25/03/2015 - 11:29Olá, infelizmente não tenho conhecimento sobre como realizar este processo no Windows, por isso não terei como oferecer ajuda neste caso.
Acesso aos dados
Enviado por Michael em seg, 23/05/2016 - 19:33Prezados,
Não entendo nada disso que está descrito acima... Gostaria somente de ter acesso aos dados em um formato de .xls para que possa importá-los para um CRM. Existe uma outra explicação para uma pessoa como nenhuma experiência no PostgreSQL? Estou trabalhando como um Mac 10.11.5
Muito obrigado
Olá Michel, a base foi
Enviado por diraol em seg, 23/05/2016 - 21:57Olá Michel, a base foi disponibilizada apenas no formato SQL (no portal de dados abertos).
Uma possibilidade seria alguém carregar a base no postgresql e depois exportá-la num formato de planilha eletrônica. Mas já adianto que dada a quantidade de dados e a complexidade dos mesmos, isso ficaria bem ruim de se trabalhar num software de planilhas eletrônicas.
De qualquer forma, caso não tenha acesso a alguém que possa te ajudar nessa exportação, você pode tentar requerer esse dado em formato de planilha. O ideal é requerer a quem é responsável pela publicação do dado. No próprio portal de dados abertos há esta informação:
http://dados.gov.br/dataset/mapa-das-oscs
"Secretaria Nacional de Articulação Social" -> Se é que ela ainda existe, arrisco-me a dizer que não existe mais, infelizmente.
Att, Diego
Comentar