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:
- Essa base de dados vem de um dump de um SGBD PostgreSQL, um projeto de software livre;
- O PostgreSQL, por padrão, exporta e importa os dados num formato próprio binário, e num num formato de texto plano (como são os arquivos do tipo *.sql);
- O dump disponibilizado no DadosGovBr está no formato texto plano;
- A base é georreferenciada e, dessa forma, é necessário instalar, além do PostgreSQL, também a extensão para georreferenciamento PostGis;
- O dump foi salvo num arquivo sem extensão nenhuma (o que não faz muita diferença), mas sua extensão “natural” seria “.sql”;
- Existem três recursos disponíveis lá no DadosGovBr:
- a base de dados em si (“Base de dados do Mapa das Organizações da Sociedade Civil”), que é um arquivo de 259MB compactado no formato 7z, e que fica com 1.2GB após ser descompactado;
- o diagrama de entidade de relacionamento do mapa das OSCs, que é uma imagem no formato pngcom o desenho esquemático do banco de dados;
- o dicionário de dados da base do Mapa, que é um arquivo html simples com o descritivo das tabelas da base de dados.
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).
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, optei por adicionar um repositório com versões mais recentes. Primeiro vamos abrir o arquivo abaixo:
<em>sudo gedit /etc/apt/sources.list.d/postgresql.list</em>
Em seguida adicionamos o seguinte conteúdo nele e salvamos:
<em>deb <a style="color: #1a96d4;" href="http://apt.postgresql.org/pub/repos/apt/">http://apt.postgresql.org/pub/repos/apt/</a> precise-pgdg main</em>
Agora precisamos adicionar a “chave de autenticação” do repositório:
wget --quiet -O - <a style="color: #1a96d4;" href="https://www.postgresql.org/media/keys/ACCC4CF8.asc">https://www.postgresql.org/media/keys/ACCC4CF8.asc</a> | 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
Vamos entrar na linha de comando do postgres:
psql
E depois 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 <<strong>seu_nome_de_usuario></strong> WITH PASSWORD '<strong>oscs_password</strong>';
Agora criamos a base de dados que vai receber os dados:
CREATE DATABASE <strong>oscs</strong> WITH OWNER=<<strong>seu_nome_de_usuario></strong>;
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!