Como instalar sistemas de informações geográficas PostGIS PostgreSQL no Debian 10
Nesta página
- Pré-requisitos
- Primeiros passos
- Instalar o PostgreSQL
- Instalar o PostGIS
- Ativar o PostGIS no PostgreSQL
- Otimizando PostgreSQL para PostGIS
- Conclusão
PostGIS é um software de código aberto que permite objetos \Sistemas de Informação Geográfica\ para o banco de dados objeto-relacional PostgreSQL. O PostGIS foi especialmente projetado para usar geometrias leves que ajudam os servidores a aumentar a quantidade de dados migrados do armazenamento em disco físico para a RAM. É uma extensão do PostgreSQL usada para armazenar dados espaciais usando tipos de dados de geometria e geografia. Também é usado para realizar algumas consultas especiais para determinar área, distância, comprimento, perímetro e criar índices em seus dados.
Neste tutorial, aprenderemos como instalar o PostGIS no Debian 10.
Pré-requisitos
- Um servidor rodando Debian 10.
- Uma senha root é configurada em seu servidor.
Começando
Antes de começar, é uma boa ideia atualizar seu pacote de sistemas para a versão mais recente. Você pode atualizá-los usando o seguinte comando:
apt-get update -y
apt-get upgrade -y
Depois que todos os pacotes forem atualizados, reinicie o sistema para aplicar as alterações.
Instalar o PostgreSQL
Antes de começar, você precisará adicionar o repositório PostgreSQL ao seu sistema.
Primeiro, baixe e adicione a chave GPG com o seguinte comando:
apt-get install gnupg2 -y
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
Em seguida, adicione o repositório PostgreSQL com o seguinte comando:
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
Em seguida, atualize o repositório e instale o servidor PostgreSQL com o seguinte comando:
apt-get update -y
apt-get install postgresql-11 -y
Uma vez concluída a instalação, você pode verificar o status do servidor PostgreSQL com o seguinte comando:
systemctl status postgresql
Você deve obter a seguinte saída:
? postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago
Main PID: 2665 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 2359)
Memory: 0B
CGroup: /system.slice/postgresql.service
Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.
Instalar o PostGIS
Neste ponto, o servidor PostgreSQL está instalado e em execução. Agora, é hora de instalar o PostGIS.
Você pode instalá-lo simplesmente executando o seguinte comando:
apt-get install postgis postgresql-11-postgis-2.5 -y
Depois de instalado, você pode prosseguir para a próxima etapa.
Ativar o PostGIS no PostgreSQL
Em seguida, você precisará criar um banco de dados PostgreSQL e um usuário e ativar os recursos do PostGIS em um banco de dados antes de poder armazenar dados espaciais.
Primeiro, faça login no PostgreSQL com o seguinte comando:
su - postgres
Em seguida, crie um usuário e banco de dados com o seguinte comando:
:~$ createdb postgis_db -O postgisuser
Em seguida, conecte-se ao banco de dados que você acabou de criar:
:~$ psql -d postgis_db
Você deve obter a seguinte saída:
psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1))
Type "help" for help.
Em seguida, habilite a extensão PostGIS no banco de dados:
postgis_db=# CREATE EXTENSION postgis;
Em seguida, verifique se o PostGIS está funcionando ou não:
postgis_db=# SELECT PostGIS_version();
Você deve obter a seguinte saída:
postgis_version
---------------------------------------
2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)
Por fim, saia do shell do PostgreSQL com o seguinte comando:
postgis_db=# \q
:~$ exit
Otimizando PostgreSQL para PostGIS
PostgreSQL é projetado para rodar com bancos de dados pequenos a grandes bancos de dados. Os objetos do banco de dados PostGIS são grandes em comparação com os dados de texto. Portanto, você precisará otimizar o PostgreSQL para funcionar melhor com objetos PostGIS.
Você pode otimizar o servidor PostgreSQL editando o arquivo /etc/postgresql/11/main/postgresql.conf:
nano /etc/postgresql/11/main/postgresql.conf
Altere o seguinte parâmetro dependendo da RAM do seu sistema:
#This value should be around 75% of your server’s RAM.
shared_buffers = 1500M
#This allows PostgreSQL to cache more data in memory while it performs its sorting
work_mem = 64MB
#A checkpoint is a periodic action that stores information about your system
checkpoint_segments = 6
#This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk.
random_page_cost = 2.0
Salve e feche o arquivo quando terminar. Em seguida, reinicie o serviço PostgreSQL para implementar as alterações.
systemctl restart postgresql
Conclusão
Parabéns! você instalou com sucesso o PostGIS no servidor PostgreSQL. Agora você tem o banco de dados configurado para consultas espaciais. Para obter mais informações, visite a documentação do PostGIS em PostGIS.