Configurando o PostGresql com o PostGIS no Debian GNU/Linux Top 10

Configurando o PostGresql com o PostGIS no Debian GNU/Linux Top 10
Como simbolizado pelo elefante azul com seu símbolo de projeto disctintivo, o PostgreSQL pertence aos sistemas de gerenciamento de banco de dados SQL de código aberto mais estável (DBMS) de todos os tempos: um elefante é bem conhecido por ter uma ótima memória, e nunca esquece o que ele observou.

Disponível há mais de 20 anos, o PostgreSQL provou sua notável confiabilidade em casos de uso que variam de pequenos a enormes conjuntos de dados. A lista de usuários comerciais e não comerciais satisfeitos é bastante longa e, entre outros.

Seu modelo de gerenciamento de transações interno, bem como o conjunto de tipos de dados geométricos ajudaram a destacar o software de outros desenvolvimentos, como MySQL/Mariadb, Redis ou Sqlite . Neste artigo, focamos na configuração do PostgreSQL 11.5 em combinação com o pós -gis 2.5 .

PostGIS é a extensão espacial do PostgreSQL, que adiciona funções geométricas e recursos geográficos ao PostgreSQL. Simplesmente falando, esses dados espaciais atuam como formas, e ambos abstratos e encapsulados estruturas espaciais, como limite e dimensão. Entre outros, os dados de dados recentemente disponíveis são Apontar, Superfície, e Curva.

Um dos usuários mais proeminentes do PostGIS é o Instituto Géographique National (IGN) da França que coleta, integra, gerencia e distribui informações geográficas de referência para todo o país. Desde julho de 2006, o PostGIS está em uso extensivo. Até agora, o banco de dados do IGN contém mais de 100 milhões de objetos espaciais.

Vamos configurar o PostgreSQL/PostGIS no Debian GNU/Linux 10 "Buster" usando o XFCE Desktop Environment .

Configurando o PostGresql

A configuração dos DBMs PostgreSQL em um Debian GNU/Linux requer apenas um nível moderado de conhecimento da administração do sistema. O desafio aqui é a ordem certa das etapas necessárias (consulte uma lista completa com imagens). Como em todas as outras distribuições Linux, existem configurações padrão e nomes de pacotes que podem ser um pouco problemáticos. Nós não gememos, e apenas começamos, em vez disso.

Instalando o PostGresql como um software

A etapa um é a instalação do pacote PostgreSQL. Em um terminal, você pode fazer isso da seguinte maneira:

# instalação apt-get PostgreSQL

Usando o sistema de gerenciamento de configuração do chef, uma receita básica que leva ao mesmo resultado contém apenas as seguintes linhas:

pacote 'PostgreSql' DO Action: Instale End
Service 'PostGresql' Do Action: [: Enable ,: Start] Fim

Essas linhas levam à instalação do pacote PostgreSQL (além de dependências do pacote) e permitindo o serviço conforme. Para verificar o serviço PostgreSQL para estar em execução, este comando deve fornecer uma saída positiva e depois:

# Serviço PostGresql Status

Concluindo a configuração da conta do administrador

O usuário Postgres administra os bancos de dados PostGresql. O segundo passo está finalizando esta conta e começa com a adição de uma senha às suas credenciais da seguinte maneira:

# passwd postgres
Nova Senha:
Vestem nova senha:
Passwd: senha atualizada com sucesso
#

O login como o usuário PostGres permite que você conceda a outros usuários acesso ao banco de dados PostGresql. Posteriormente, temos que adicionar um usuário na etapa três. Esteja ciente do fato de que tanto o sistema Linux quanto o PostgreSQL mantêm seus bancos de dados de usuários separadamente. É por isso que você deve garantir que exista um usuário regular do Linux com o mesmo nome em seu sistema, antes de permitir o acesso ao PostgreSQL para ele.

Adicionando uma conta de usuário

A etapa quatro é feita como o usuário postgres. Altere de raiz para Postgres e crie uma nova conta para o usuário Linuxhint no banco de dados PostGresql com a ajuda deste comando:

PostGres $ createUser -Interactive Linuxhint
O novo papel será um superusor? (y/n) n
A nova função poderá criar bancos de dados? (y/n) n
O novo papel deve criar novos papéis? (y/n) n
PostGres $

Em seguida, defina uma senha para o recém -criado usuário Linuxhint. Faça login no shell do banco de dados usando o PSQL e defina a nova senha usando o comando \ senha. Depois desse tipo, \ q para sair do shell do banco de dados e retornar ao shell no terminal:

PostGres $ psql psql (11.5 (Debian 11.5-1+DEB10U1)) Digite “Ajuda” para obter mais ajuda.
PostGres =# Linuxhint Digite nova senha: RETIDO A nova senha: PostGres =# PostGres $

Etapa cinco é a criação de um banco de dados separado para o usuário Linuxhint. Para fazê -lo, digite o comando criadob como o usuário postgres:

PostGres $ CreateDB Linuxhint

Agora, o usuário Linuxhint tem seu próprio banco de dados e pode trabalhar com ele de acordo com suas necessidades.

Adicionando PostGis

A etapa seis consiste na instalação do pacote PostGIS. Como feito para o PostgreSQL antes, isso pode ser feito o seguinte usando o APT-Get:

# instalação apt-get Postgis

Como alternativa, uma receita simples para o chef seria esta:

pacote 'pós -gis' fazer
Ação: Instale
fim

O pacote PostGIS tem uma dependência do pacote Debian PostGresql-11-Postgis-2.5-scripts (instalados automaticamente) que conecta o PostGIS ao PostgreSQL e elimina uma série de etapas manuais necessárias em outras distribuições. Independentemente de qual dos dois métodos de instalação você escolher - Apt -Get ou Chef -, o gerenciamento de pacotes do Debian garantirá que todos os pacotes dependentes sejam instalados e configurados corretamente.

Etapa sete é a possibilidade da extensão do PostGIS. Conforme explicado na documentação do PostGIS, não o instale no banco de dados chamado Postgres, pois este está em uso para as castrruturas de dados internas do PostgreSQL e apenas ativá -lo em cada banco de dados de usuário que você realmente precisa dele em. Faça login como o usuário Postgres, conecte -se ao banco de dados desejado e crie as duas extensões PostGis e PostGis_topology, como mostrado abaixo. O comando \ c conecta você ao banco de dados desejado e criar extensão disponibiliza a extensão desejada:

PostGres =#

Agora você está conectado com o banco de dados "Linuxhint" como usuário "PostGres".

linuxhint =# Crie extensão PostGIS;
Criar extensão
linuxhint =# Criar extensão PostGis_topology;
Criar extensão
linuxhint =#

A etapa sete é para validação de que a ativação da extensão foi bem -sucedida. O comando PostgreSQL \ DX lista as extensões instaladas, e o PostGIS e o PostGis_topology devem estar na lista, agora.

PostGIS fornece outras extensões também. Recomendamos instalar apenas o que você precisa. Veja a documentação do PostGIS para obter mais informações sobre as extensões.

Adicionando dados

Tendo configurado o pós -gis com sucesso, é hora de adicionar tabelas e preenchê -las com dados. Muitos dados geográficos estão disponíveis online gratuitamente, por exemplo, da Geofabrik. Os dados são fornecidos como arquivos de forma, que é um formato de dados vetoriais comum para software GIS.

Tendo baixado o arquivo de forma, carregue o conteúdo do arquivo de forma no PostGIS com a ajuda da ferramenta de comando especial shp2pgsql. O exemplo abaixo demonstra como converter o arquivo de forma em uma sequência de comandos SQL, primeiro e fazer upload da lista de comandos SQL no banco de dados usando o PSQL, a seguir:

Linuxhint $ shp2pgsql -cdii Railways.Ferrovia SHP> Ferrovia.SQL
Shapefile Tipo: Arco
PostGIS Tipo: Multilinestring [2]
Linuxhint $
Linuxhint $ psql -f Railway.SQL

A figura abaixo mostra a saída impressa na tela assim que você carrega os dados.

Agora, PostgreSQL/PostGIS está ao seu serviço e pronto para receber suas consultas SQL. Por exemplo, o pgadmin permite uma olhada sob o capô em poucos minutos. A figura abaixo mostra isso para os dados enviados. A coluna mais à direita tem um tipo geométrico multilinestring.

Conclusão

Configurando PostgreSQL/PostGIS não é ciência de foguetes. Com as etapas explicadas acima, você pode fazer isso em menos de uma hora e ter resultados rapidamente. Et pronto!

Links e referências
  • Ambiente da área de trabalho XFCE
  • PostGresql
  • PostGIS
  • Shahriar Shovon: Instalando o PostgreSQL no Debian 10, Linuxhint
  • Geofabrik, downloads
  • Shapefile
  • Chefe de cozinha
  • Redis
  • Sqlite
  • UNICEF
  • Debian GNU/Linux Buster, Debian Wiki
  • Creative Commons
  • Skype
  • Grupo BMW
  • Instituto Géographique National (IGN)