PostgreSQL

Configurando PostgreSQL com PostGIS no Debian GNU / Linux 10

Configurando PostgreSQL com PostGIS no Debian GNU / Linux 10
Como simbolizado pelo elefante azul com seu símbolo de projeto distintivo, PostgreSQL pertence ao mais estável sistema de gerenciamento de banco de dados SQL (DBMS) de código aberto: um elefante é bem conhecido por ter uma ótima memória e nunca se esquece do que 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, inclui o Fundo das Nações Unidas para a Infância (UNICEF), o arquivo Creative Commons, o Skype e o BMW Group.

Seu modelo de gerenciamento de transações integrado, 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, nos concentramos na configuração do PostgreSQL 11.5 em combinação com PostGIS 2.5 .

PostGIS é a extensão espacial do PostgreSQL que adiciona funções geométricas e características geográficas ao PostgreSQL. Simplesmente falando, esses tipos de dados espaciais agem como formas e abstraem e encapsulam estruturas espaciais, como limite e dimensão. Entre outros, os novos tipos de dados disponíveis são Apontar, Superfície, e Curva.

Um dos usuários mais proeminentes de PostGIS é o Instituto Géographique Nacional (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, PostGIS está em uso extensivo. Até agora, o banco de dados do IGN contém mais de 100 milhões de objetos espaciais.

Iremos configurar o PostgreSQL / PostGIS no Debian GNU / Linux 10 “Buster” usando o ambiente de desktop XFCE .

Configurando PostgreSQL

Configurar o PostgreSQL DBMS em um Debian GNU / Linux requer apenas um nível moderado de conhecimento de administração de sistema. O desafio aqui é a ordem correta das etapas necessárias (consulte Recursos para obter uma lista completa com imagens). Como em todas as outras distribuições do 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

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

# apt-get install postgresql

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

pacote 'postgresql' fazer ação: instalar final
serviço 'postgresql' fazer ação: [: ativar,: iniciar] fim

Essas linhas levam à instalação do pacote postgresql (mais dependências do pacote) e habilitando o serviço de acordo. Para verificar se o serviço PostgreSQL está em execução, este comando deve fornecer uma saída positiva, então:

# service postgresql status

Concluindo a configuração da conta do administrador

O usuário postgres administra os bancos de dados PostgreSQL. A segunda etapa é finalizar essa conta e começa com a adição de uma senha às credenciais da seguinte maneira:

# passwd postgres
Nova Senha:
Digite novamente a nova senha:
passwd: senha atualizada com sucesso
#

O login como 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ário separadamente. É por isso que você deve certificar-se de que também exista um usuário regular do Linux com o mesmo nome em seu sistema, antes de habilitar o acesso ao PostgreSQL para ele.

Adicionar uma conta de usuário

A etapa quatro é feita como o usuário postgres. Mude de root 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
A nova função deve ser um superusuário? (s / n) n
A nova função deve ter permissão para criar bancos de dados? (s / n) n
Será que a nova função permitiu a criação de novas funções?? (s / n) n
postgres $

Em seguida, defina uma senha para o usuário linuxhint recém-criado. Faça login no shell do banco de dados usando psql e defina a nova senha usando o comando \ senha. Depois disso, digite \ 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 “help” para obter mais ajuda.
postgres = # linuxhint Digite a nova senha: Digite novamente a nova senha: postgres = # postgres $

O quinto passo é a criação de um banco de dados separado para o usuário linuxhint. Para fazer isso, digite o comando createdb como 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

O sexto passo consiste na instalação do pacote PostGIS. Como feito para o PostgreSQL antes, pode ser feito da seguinte maneira usando apt-get:

# apt-get install postgis

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

pacote 'postgis' fazer
ação: instalar
fim

O pacote PostGIS tem uma dependência para o pacote Debian postgresql-11-postgis-2.5 scripts (instalados automaticamente) que conectam o PostGIS ao PostgreSQL e elimina uma série de etapas manuais necessárias em outras distribuições. Não importa qual dos dois métodos de instalação você escolha - apt-get ou Chef -, o gerenciamento de pacotes Debian irá certificar-se de que todos os pacotes dependentes estão instalados e configurados corretamente.

A etapa sete é a habilitação da extensão PostGIS. Conforme explicado na documentação do PostGIS, não o instale no banco de dados denominado postgres, pois este está em uso para as estruturas de dados internas do PostgreSQL, e apenas habilite-o em cada banco de dados do usuário em que você realmente precisa dele. 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 CREATE EXTENSION disponibiliza a extensão desejada:

postgres = #

Agora você está conectado com o banco de dados “linuxhint” como usuário “postgres”.

linuxhint = # CREATE EXTENSION postgis;
CRIAR EXTENSÃO
linuxhint = # CREATE EXTENSION 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 que estão instaladas, e tanto postgis quanto 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 PostGIS para mais informações sobre as extensões.

Adicionando Dados

Tendo configurado o PostGIS 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 em PostGIS com a ajuda da ferramenta especial de linha de comando 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 para o banco de dados usando psql, a seguir:

linuxhint $ shp2pgsql -cDiI railways.ferrovia shp> ferrovia.sql
Tipo de arquivo de forma: arco
Tipo de postgis: MULTILINESTRING [2]
linuxhint $
linha ferroviária linuxhint $ psql -f.sql

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

Agora, PostgreSQL / PostGIS está à sua disposição e pronto para receber suas consultas SQL. Por exemplo, o pgadmin permite que você dê uma olhada nos bastidores em minutos. A figura abaixo mostra isso para os dados carregados. A coluna mais à direita tem um tipo geométrico MultiLineString.

Conclusão

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

Links e referências
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...
Vulkan para usuários de Linux
A cada nova geração de placas gráficas, vemos os desenvolvedores de jogos ultrapassarem os limites da fidelidade gráfica e se aproximarem mais do foto...
OpenTTD vs Simutrans
Criar sua própria simulação de transporte pode ser divertido, relaxante e extremamente atraente. É por isso que você precisa ter certeza de experiment...