1.2.1. Instalação no Linux Ubuntu

Aviso

Os passos apresentados abaixo foram realizados no Ubuntu Focal (20.04 LTS). No entanto, também devem funcionar para as versões Ubuntu Bionic (18.04 LTS) e Ubuntu Xenial (16.04 LTS).

Aviso

Ao invés de instalar o PostgreSQL e o PostGIS diretamente no sistema operacional da sua máquina, é possível usar o Docker. Neste caso, consulte a Seção 1.2.2.

1.2.1.1. Acrescentando o Repositório do PostgreSQL no Sistema de Pacotes do Ubuntu

Vamos criar um arquivo chamado pgdg.list contendo as informações do repositório de pacotes do PostgreSQL para sua versão do Ubuntu:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Nota

No Ubuntu 18.04 LTS, o comando acima irá criar o arquivo /etc/apt/sources.list.d/pgdg.list com o seguinte conteúdo:

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Após criar o arquivo, utilize o seguinte comando para importar a chave de assinatura do repositório:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Em seguida, atualize sua lista de pacotes:

sudo apt update

1.2.1.2. Instalação do PostgreSQL Versão 14

A Tabela 1.1 apresenta os pacotes relacionados à versão 14 do PostgreSQL.

Tabela 1.1 - Pacotes do PostgreSQL disponíveis na distribuição Linux Ubuntu.

Pacote

Descrição

postgresql-14

core servidor de banco de dados

postgresql-server-dev-14

arquivos de cabeçalho e bibliotecas para o desenvolvimento no lado do servidor através da linguagem C

postgresql-client-14

binários das bibliotecas de programação e aplicações clientes

libpq-dev

arquivos de cabeçalho para o desenvolvimento de aplicações clientes através da linguagem C

Dica

Se você quiser consultar as versões do servidor PostgreSQL disponíveis no repositório adicionado, bem como nos repositórios padrão, faça:

sudo apt-cache search postgresql-server

Você obterá uma saída semelhante a mostrada abaixo:

postgresql-server-dev-8.2 - development files for PostgreSQL 8.2 server-side programming
postgresql-server-dev-8.3 - development files for PostgreSQL 8.3 server-side programming
postgresql-server-dev-8.4 - development files for PostgreSQL 8.4 server-side programming
postgresql-server-dev-9.0 - development files for PostgreSQL 9.0 server-side programming
postgresql-server-dev-9.1 - development files for PostgreSQL 9.1 server-side programming
postgresql-server-dev-9.2 - development files for PostgreSQL 9.2 server-side programming
postgresql-server-dev-9.3 - development files for PostgreSQL 9.3 server-side programming
postgresql-server-dev-9.4 - development files for PostgreSQL 9.4 server-side programming
postgresql-server-dev-9.5 - development files for PostgreSQL 9.5 server-side programming
postgresql-server-dev-9.6 - development files for PostgreSQL 9.6 server-side programming
postgresql-server-dev-10 - development files for PostgreSQL 10 server-side programming
postgresql-server-dev-11 - development files for PostgreSQL 11 server-side programming
postgresql-server-dev-12 - development files for PostgreSQL 12 server-side programming
postgresql-server-dev-13 - development files for PostgreSQL 13 server-side programming
postgresql-server-dev-14 - development files for PostgreSQL 14 server-side programming
postgresql-server-dev-all - extension build tool for multiple PostgreSQL versions

Para saber mais detalhes de uma versão específica, podemos fazer:

sudo apt-cache search postgresql-14

Uma listagem mais ampla que a mostrada abaixo será exibida:

postgresql-14 - The World's Most Advanced Open Source Relational Database
postgresql-14-pointcloud - PostgreSQL extension for storing point cloud (LIDAR) data
postgresql-14-postgis-3 - Geographic objects support for PostgreSQL 14
postgresql-14-postgis-3-scripts - Geographic objects support for PostgreSQL 14 -- SQL scripts
postgresql-14-repmgr - replication manager for PostgreSQL 14
postgresql-14-repmgr-dbgsym - debug symbols for postgresql-14-repmgr
postgresql-client-14 - front-end programs for PostgreSQL 14

Vamos instalar apenas o servidor PostgreSQL 14 e as ferramentas clientes. Para isso, utilize o seguinte comando:

sudo apt install postgresql-14 postgresql-client-14

Verifique se a instalação foi realizada com sucesso e, se o servidor PostgreSQL se encontra em execução. Para isso, utilize o seguinte comando:

sudo -u postgres psql -c "SELECT version();"

Você deverá obter uma saída semelhante à apresentada abaixo:

                                                               version
--------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 14.5 (Ubuntu 14.5-1.pgdg20.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit
(1 row)

1.2.1.3. Instalação da extensão PostGIS 3

Para instalar a extensão espacial PostGIS utilize o seguinte comando:

sudo apt install postgresql-14-postgis-3

Para testar sua instalação, utilize o comando abaixo:

sudo -u postgres \
     psql -c "SELECT name, default_version FROM pg_available_extensions WHERE name = 'postgis';"

Você deverá obter uma saída semelhante à apresentada abaixo:

  name   | default_version
---------+-----------------
 postgis | 3.3.1
(1 row)

Se você quiser utilizar os aplicativos do PostGIS de linha de comando, como o shp2pgsql e pgsql2shp, você precisará instalar um pacote adicional chamado postgis, como mostrado no comando abaixo:

sudo apt install postgis

Nota

Nas versões anteriores do PostgreSQL (12), era possível instalar o aplicativo gráfico postgis-gui para realizar a importação ou exportação de dados entre o PostgreSQL e arquivos no formato ESRI Shapefile. O seguinte comando, poderia ser usado:

sudo apt install postgis-gui

Nas versões 13+ do PostgreSQL não há esse pacote. Portanto, o comando acima fará com que todos os pacotes da versão 12, incluindo o servidor, sejam instalados. Sugiro não instalar.

Nota

Mais informações da instalação do PostgreSQL no Linux Ubuntu podem ser encontradas em: PostgreSQL downloads (Ubuntu).

Nota

Mais informações da instalação do PostGIS podem ser encontradas em: PostGIS downloads (Ubuntu)].