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 .
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.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;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.SQLA 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.
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!