Instalando o PostgreSQL no Debian, Ubuntu e Derivados

O Debian inclui o PostgreSQL por padrão. Para instalar o PostgreSQL no Debian, use o apt-get.

O Debian permite que vários clusters e até diferentes versões do PostgreSQL coexistam no mesmo host.

Se executarmos “apt install postgresql”, no Debian 10 buster, será instalada a versão 11 do postgresql mas já há a versão 14.

Se quiser instalar a versão que consta no repositório, nesse caso a 11, então é só executar:

sudo apt install postgresql  -y

 

Instalando Versão Recente do PostgreSQL no Debian

Se desejar instalar uma versão mais recente então teremos que apontar nossa source.list para um outro repositório

 

#1 Crie a configuração do repositório de arquivos:

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

#2 Importe a chave de assinatura do repositório:

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

#3 Atualize as listas de pacotes:

sudo apt-get update

#4 Instale a versão mais recente ou outra que queira do PostgreSQL.

Por exemplo, se a versão mais recente for a 14 execute

sudo apt install postgresql-14  -y

Se desejar uma versão anterior, suponhamos que deseja a versão 12, então execute:

sudo apt install postgresql-12    -y

 

Localização dos Arquivos do Postgres no Debian

O Debian os arquivos de configuração do banco de dados em diferentes pastas ao contrário da instalação genérica do PostgreSQL que coloca tudo em um só lugar.

  • Arquivos de Configuração: /etc/postgresql/[versão]/[cluster]/
  • Binários(programas): /usr/lib/postgresql/[versão]
  • Arquivos de Dados: /var/lib/postgresql/[versão]/[cluster]
  • Logs: /var/log/postgresql/

 

 

Listando os Clusters

Use o comando pg_lsclusters para listar as instalações. No meu caso há as versões 11 e 14. A 11 havia instalado noutro momento.

elder@server01:~$ sudo pg_lsclusters 
Ver Cluster Port Status                Owner    Data directory              Log file
11  main    5432 down,binaries_missing postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
14  main    5433 online                postgres /var/lib/postgresql/14/main /var/log/postgresql/postgresql-14-main.log

 

pg_clt e pg_ctlcluster

 

As duas ferramentas são usadas para controlar o PostgreSQL. A diferença é que:

pg_ctl é um comando do PostgreSQL.

pg_ctlcluster é um programa feito pelo Debian em Perl como substituto do pg_ctl. Lembre-se disso, pois em outras distros não haverá uma ferramenta pg_ctlcluster.

 

Observações

Após a instalação, nos últimos textos que da instalação que aparece no terminal há informações de caminhos importantes. Abaixo alaranjei algumas linhas:

Creating new PostgreSQL cluster 14/main ...
/usr/lib/postgresql/14/bin/initdb -D /var/lib/postgresql/14/main --auth-local peer --auth-host scram-sha-256 --no-instructions
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/14/main ... ok
creating subdirectories ... ok
........

 

Fontes: debian/localedebian/postgresql

Deixe um comentário

O seu endereço de e-mail não será publicado.